html - 提高 CSS 特异性的最有效字符方式是什么?

标签 html css optimization css-selectors css-specificity

如果我想增加规则的 CSS 特异性,我倾向于使用 html 作为前缀,但我想知道是否有更简洁的方法来做到这一点?

(这似乎是一个微不足道的问题,但在我定义响应式网格的样式表的过程中,通过单个字符减少特异性前缀将节省几百个字节)

最佳答案

这实际上取决于您要实现的目标。一种增加特异性的廉价方法是简单地重复一个选择器。例如,如果这是您的标记:

<figure id="myId" class="myClass"></figure>

这是你的 CSS:

#myId.myClass { color:red; font-weight:bold; }      /* Specificity: 110 */

您可以简单地重复 classid 选择器而根本不修改您的标记:

#myId.myClass.myClass { color:green; }              /* Specificity: 120 */
#myId#myId { font-weight:normal; }                  /* Specificity: 200 */

JSFiddle demo .

这是完全有效的,正如 W3C Selectors Level 3 Recommendation 在其 Calculating Specificity section 中所述:

Note: Repeated occurrances of the same simple selector are allowed and do increase specificity.

关于html - 提高 CSS 特异性的最有效字符方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399625/

相关文章:

javascript - 单击我的按钮会导致页面刷新

css - 使用变换和缩放更改单选按钮大小时对齐单选按钮文本

html - 使用 CSS 仅将悬停效果应用于图像的非透明部分

mysql - 在 MySQL 中跨数百万行使用 VARCHAR 与 INT

c# - 加快在 WPF 中将对象添加到 Canvas

html - 背景图像模糊 - css

html - 列表中的点

css - 将文字移到 Logo 旁边;摆脱硬性规定

javascript - 动态切换大小写 Javascript,将值附加到不同的变量

php - Internet Explorer 不显示我网站的一部分