Chrome开发人员工具如何生成CSS选择器?

罗伊·约瑟夫(Roee Yossef)

为元素添加新的样式规则时,Chrome生成的选择器包含整个层次结构,而不仅仅是类名。

例如:

<body>
      <div class="container">
           <span class="helper"></span>
      </div>
</body>

为添加新的样式规则.helper将生成body > div > span而不是的选择器.helper为什么是这样?

时钟

除非我查看源代码本身,否则不可能对浏览器的实现进行准确的分析。但是我要说的是,浏览器需要确保您添加的样式规则仅适用于工作DOM中的特定元素,而目的是将一个或多个相关元素分组的类不是很好-适合于此目的。

由于类的工作方式,浏览器无法假定您的类仅分配给该span元素,因为它不知道您如何编写HTML。NichoDiaz给出的示例说明了一个简单但有效的示例:a.helper不一定是a body > div > span,因为body > div > div > span现在或以后都可能是a

因此helper,与其进行假设(即使在DOM中只有一个元素),也可以对元素的结构进行假设,这更加可靠。由于它看到只有一个span是的子项div,而是的子项body,因此它body > div > span为您选择为其添加样式规则的元素生成选择器(大概,之所以以body >而不是开头的原因html > body >是因为body始终是的子元素html,这使得该附加约束完全多余。)

当然,一旦添加第二个span元素,样式规则也将应用于该元素。再次,浏览器无法预料到这一点,但是:nth-child(1)如果您不想将样式规则应用于该新元素,则可以轻松地修改规则以将其添加到选择器的末尾。

如果您在第一个span元素上创建新样式规则之前添加了第二个元素,则会看到浏览器会生成稍微更具体的选择器body > div > span:nth-child(1)如果它尝试使用.helper和不生成选择器:nth-child(1),即body > div > span.helper它将匹配两个元素,那么这显然不是突出显示一个元素并为该特定元素添加样式规则的预期结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS 选择器图像未显示在网站横幅或 Chrome 的开发人员工具窗口中

来自分类Dev

如何在Google Chrome浏览器检查器中更改CSS制表位(开发人员工具)

来自分类Dev

如何在Chrome开发人员工具网络监视器中阻止URL

来自分类Dev

Chrome或Firefox中的Web开发人员模式:如何获取对象的CSS完全选择器?

来自分类Dev

Google Chrome开发人员工具已禁用

来自分类Dev

在chrome开发人员工具中调试插件

来自分类Dev

chrome 38屏幕尺寸开发人员工具

来自分类Dev

Atom IDE打开Chrome开发人员工具

来自分类Dev

Chrome开发人员工具中的HTTP请求

来自分类Dev

chrome 38屏幕尺寸开发人员工具

来自分类Dev

让React开发人员工具在Chrome中运行

来自分类Dev

Google Chrome Web开发人员工具

来自分类Dev

如何从 Web 浏览器开发人员工具中选择带有 Javascript 的选项

来自分类常见问题

如何从Google Chrome浏览器的“开发人员工具”的“来源”标签中保存整个文件夹?

来自分类Dev

如何使用开发人员工具查看由Google Chrome扩展程序注入的CSS样式表?

来自分类Dev

在Chrome开发人员工具中输入CSS媒体查询

来自分类Dev

如何在Chrome开发人员工具中“添加观看”?

来自分类Dev

如何从chrome开发人员工具下载/提取字体?

来自分类Dev

如何关闭Google Chrome开发人员工具中的fancybox元素?

来自分类Dev

如何使用Firefox开发人员工具清除或删除浏览器会话

来自分类Dev

开发人员工具->网络中奇怪的Chrome行为(无法监视EventStream /服务器发送的事件)

来自分类Dev

在最新的Chrome浏览器中禁用了GWT开发人员工具插件(37)。

来自分类Dev

保存来自Chrome(或其他浏览器)开发人员工具的所有XHR请求

来自分类Dev

当我尝试打开开发人员工具时,Ripple Emulator / Chrome浏览器关闭

来自分类Dev

Firefox开发人员工具+ Chrome调试器控制台错误地显示javascript对象引用

来自分类Dev

浏览器未在开发人员工具中显示来自缩小的 css 的 css 源

来自分类Dev

为什么Chrome开发人员工具有时不显示CSS源代码?

来自分类Dev

如何在Chrome开发人员工具的CPU配置文件中加载保存的.cpuprofile文件?

来自分类Dev

Ctrl + O时如何不显示Chrome开发人员工具中已转译的文件

Related 相关文章

  1. 1

    CSS 选择器图像未显示在网站横幅或 Chrome 的开发人员工具窗口中

  2. 2

    如何在Google Chrome浏览器检查器中更改CSS制表位(开发人员工具)

  3. 3

    如何在Chrome开发人员工具网络监视器中阻止URL

  4. 4

    Chrome或Firefox中的Web开发人员模式:如何获取对象的CSS完全选择器?

  5. 5

    Google Chrome开发人员工具已禁用

  6. 6

    在chrome开发人员工具中调试插件

  7. 7

    chrome 38屏幕尺寸开发人员工具

  8. 8

    Atom IDE打开Chrome开发人员工具

  9. 9

    Chrome开发人员工具中的HTTP请求

  10. 10

    chrome 38屏幕尺寸开发人员工具

  11. 11

    让React开发人员工具在Chrome中运行

  12. 12

    Google Chrome Web开发人员工具

  13. 13

    如何从 Web 浏览器开发人员工具中选择带有 Javascript 的选项

  14. 14

    如何从Google Chrome浏览器的“开发人员工具”的“来源”标签中保存整个文件夹?

  15. 15

    如何使用开发人员工具查看由Google Chrome扩展程序注入的CSS样式表?

  16. 16

    在Chrome开发人员工具中输入CSS媒体查询

  17. 17

    如何在Chrome开发人员工具中“添加观看”?

  18. 18

    如何从chrome开发人员工具下载/提取字体?

  19. 19

    如何关闭Google Chrome开发人员工具中的fancybox元素?

  20. 20

    如何使用Firefox开发人员工具清除或删除浏览器会话

  21. 21

    开发人员工具->网络中奇怪的Chrome行为(无法监视EventStream /服务器发送的事件)

  22. 22

    在最新的Chrome浏览器中禁用了GWT开发人员工具插件(37)。

  23. 23

    保存来自Chrome(或其他浏览器)开发人员工具的所有XHR请求

  24. 24

    当我尝试打开开发人员工具时,Ripple Emulator / Chrome浏览器关闭

  25. 25

    Firefox开发人员工具+ Chrome调试器控制台错误地显示javascript对象引用

  26. 26

    浏览器未在开发人员工具中显示来自缩小的 css 的 css 源

  27. 27

    为什么Chrome开发人员工具有时不显示CSS源代码?

  28. 28

    如何在Chrome开发人员工具的CPU配置文件中加载保存的.cpuprofile文件?

  29. 29

    Ctrl + O时如何不显示Chrome开发人员工具中已转译的文件

热门标签

归档