【发布时间】:2013-06-17 15:25:36
【问题描述】:
这是一种非常常见的情况。假设我们有一些标记:
<div class="widget">
<div class="widget-item"></div>
</div>
我们可以使用 2 个选项设置 .widget-item 的样式:
选项 1:使用父类的前缀
.widget .widget-item { /* styles */ }
选项 2:直接访问类
.widget-item { /* styles */ }
前缀是否有任何显着的性能优势/命中?
如果我不需要在另一个容器中重用该类,比如.other .widget-item,那么前缀有什么真正的好处吗? (大多数时候,我什至不需要在父级之外重用该类,所以在功能上没有区别?)
我发现自己在使用这些深度选择器,但我可能不应该这样做?
这家伙说你应该深深地窝:http://coryschires.com/why-you-should-deeply-nest-your-css-selectors/
这个人说你应该让它们保持简单,不嵌套:https://github.com/csswizardry/CSS-Guidelines#selectors
如果这是重复的,请原谅我,似乎找不到。
【问题讨论】:
-
CSS 从右到左。我认为第二种解决方案更快(因为它不必检查父母)
-
实际上,两者都不会快到足以产生丝毫差异
-
注意:这个问题不仅仅是关于性能...不要关闭我的问题!我得到的两个答案很棒,我还在阅读链接的文章。
标签: css css-selectors