美文网首页
DevTools 技巧合集七

DevTools 技巧合集七

作者: 涅槃快乐是金 | 来源:发表于2024-06-26 22:02 被阅读0次

找出最耗时的CSS选择器

在提升网页渲染性能方面,我们通常会花时间优化JavaScript代码。但是CSS在网页渲染速度中也起着重要作用。特别是CSS选择器有时会导致浏览器引擎在匹配页面DOM时变慢,尤其是当页面具有庞大的DOM树、大量CSS规则并且DOM频繁变化时,这可能成为一个严重问题。

ChromeEdge在性能工具中提供了一个有用的功能,用于分析效率低下的CSS选择器,称为Selector Stats

因此,在重写CSS选择器之前,应该测量网页上慢速场景的性能,确保CSS确实对性能产生了负面影响,使用Selector Stats获取改进的思路,优化你的代码,然后再次进行性能测试。

要在ChromeEdge中使用Selector Stats

    1. 打开性能工具。
    1. 在工具顶部工具栏中点击“捕获设置”,然后选择“启用CSS选择器统计”复选框。
    1. 开始新的性能记录,运行你的慢速场景,然后停止录制。
    1. 在捕获的性能分析中,找到一个长时间运行的“Recalculate Style”事件并选择它。
    1. 在性能工具底部的“Selector Stats”选项卡中查看。
    1. Selector Stats选项卡显示了浏览器引擎在此“Recalculate Style”事件期间必须(至少尝试)匹配的CSS选择器列表。

按照耗时排序表格,找出引擎匹配时间最长的选择器。同时要查看“Match Attempts”和“Match Counts”列。例如,如果浏览器引擎尝试匹配了1000个元素,但最终实际匹配了0个元素,那么这个选择器可能太宽泛,需要优化。最后,确保查看“% of slow-path non-matches”列,该列告诉你未能匹配选择器的元素比例,以及浏览器引擎为匹配这些元素所使用的不太优化的代码路径比例。

如果想查看整个性能分析文件中的Selector Stats而不仅仅是单个“Recalculate Style”事件,请点击性能分析文件中的空白区域取消选择任何“Recalculate Style”事件。

找出不活跃的CSS样式

有时我们编写的CSS代码完全有效,但却完全没有任何效果,这可能令人沮丧。

确实,有许多情况下,CSS声明对元素没有任何影响。一个常见的例子是在行内元素上使用width属性。虽然这个例子可能大多数人都知道,但是有太多不同的CSS属性和可能的组合方式,我们不可能知道所有CSS不起作用的情况。

Firefox推出了一个非常酷的功能,帮助找出这些“不活跃”的CSS属性,而基于Chromium的浏览器现在也有类似的功能!

在Firefox中:
    1. 在检查器面板中选择一个元素。
    1. 在规则面板中查看其应用的样式。
    1. 不活跃的属性会呈灰色,并且旁边有一个信息图标。
    1. 将鼠标悬停在信息图标上可以查看属性为何不活跃的原因。


在Chrome或Edge中:
    1. 确保已启用该功能:
    • 使用Chrome或Edge 106或更高版本。
    • 在DevTools中打开设置(按F1键)。
    • 选择“实验”选项卡,启用“启用CSS作者提示以显示不活跃规则、弃用属性等”复选框,关闭设置,并在提示时重新加载DevTools。
    1. 在元素工具中选择一个元素。
    1. 在样式面板中查看其应用的样式。
    1. 不活跃的属性旁边有一个信息图标。如果看到这个图标,说明这个属性有一个作者提示可用。
    1. 悬停在图标上会显示有关属性的信息提示。


注意:这不是一个审核工具!它不会帮助你在整个代码库中删除无用的CSS规则。它的价值在于检查特定元素时,方便检测给定CSS属性在该元素上是否起作用。

快速识别视窗外的元素

有时候,无论是出于意外还是有意为之,HTML元素可能会位于浏览器视口之外。当元素位于视口之外时,要在开发工具中找到它们可能会很困难。确实,元素工具中的DOM树很好用,但当DOM树非常庞大且嵌套深时,导航起来并不是特别容易。

以下是一个很好的提示,可以通过使用Edge开发工具中的3D视图工具快速找到视口外的元素:

    1. Microsoft Edge中打开开发工具(按F12键)。
    1. 点击工具栏顶部的更多工具(+)按钮,选择“3D视图”以打开3D视图工具。
    1. 在左侧边栏中,选择DOM选项卡。
    1. 缩放和平移3D场景,以找到视口外的元素!


相关文章

  • 从 chrome devtools protocol 再看 Ch

    之前简单的描述了Chrome Devtools的一些使用技巧,不过慢慢就会想想Chrome Devtools原理是...

  • Chrome DevTools调试技巧

    【1】DevTools触发伪类 右键单击Elements面板中的元素节点并选择“ force state ”。或者...

  • chrome devtools 基础技巧

    一、通用 1. DevTools 面板快捷键 2. Stack trace(保存堆栈信息) 在团队协作中,将堆栈跟...

  • 顶置目录(方便查看)

    简书技巧 简书基础简书Markdown进阶(持续更新) 笔记 操作系统 趣味合集 趣味合集(持续更新......)...

  • 数字集成电路设计经验技巧大合集84个资料

    数字集成电路设计经验技巧大合集84个资料 废话不多说,直接贴出电路及电路设计经验技巧大合集84个资料的文件列表,太...

  • Word技巧:Word小技巧精粹

    大家一再推荐,秦老师能不能来点Office小技巧合集?小技巧合集就是通过快捷键或或者很小的操作能实现的一些高效技法...

  • 伪前端

    vue devtools 真好用!vue devtools 真好用!vue devtools 真好用! webst...

  • Chrome DevTools 实用技巧

    Chrome 已然稳坐第一浏览器的位置,而身为前端开发工程师,更是每天都要和 Chrome 亲密接触。这次趁 Ch...

  • R地图

    install.packages("devtools") library(devtools) install.pa...

  • MeTPeak的使用

    安装: install.packages("devtools") library("devtools") sour...

网友评论

      本文标题:DevTools 技巧合集七

      本文链接:https://www.haomeiwen.com/subject/yubscjtx.html