【发布时间】:2013-10-14 12:56:20
【问题描述】:
给定一组带有一些重叠声明的 CSS 规则,有两种主要的方法来构建样式。
一方面,我们可以声明每个属性一次,但多次使用选择器:
.one,
.two,
.three {
color: #444;
}
.one { // more specific styles }
.two { // more specific styles }
.three { // more specific styles }
另一方面,我们可以只使用每个选择器一次,但属性重复:
.one {
color: #444;
// more specific styles
}
.two {
color: #444;
// more specific styles
}
.three {
color: #444;
// more specific styles
}
理论上还有第三种选择,将每个常用属性隔离在自己的类中,即.grey-stuff { color: #444; },但这通常会导致 HTML 混乱。
在上述两种方法中,如果有的话,应该首选哪一种?
问题的背景是维护更大的 CSS 代码库。我不确定渲染性能是否存在相关差异,但我可以想象在总 CSS 文件大小和开发便利性方面存在优势。
【问题讨论】:
-
性能也取决于您的 HTML,而不仅仅是您的选择器。
-
您为测试性能做了哪些工作?你试过计时吗?您当前是否遇到您认为与 CSS 相关的问题?关于“偏好”的问题超出了 SO 的范围,因为它会生成基于意见的响应而不是基于事实的响应
-
我为这个问题添加了一些背景知识。我发现的关于这个问题的东西几乎只讨论了单个选择器的性能。我还考虑将每种方法应用于更大的代码库,并根据结构和大小查看 CSS 输出。
-
确实,这个问题是有方向的。谢谢!
标签: css performance