如果我想增加规则的CSS特性,我倾向于用html作为前缀,但我想知道是否有更简洁的方法来做到这一点?
(这可能看起来像一个微不足道的问题,但在我的样式表定义响应网格的过程中,通过单个字符减少特异性前缀将节省几百个字节)
解决方法
这实际上取决于你想要实现的目标.提高特异性的廉价方法是简单地重复选择器.例如,如果这是你的标记:
<figure id="myId" class="myClass"></figure>
这是你的CSS:
#myId.myClass { color:red; font-weight:bold; } /* Specificity: 110 */
#myId.myClass.myClass { color:green; } /* Specificity: 120 */ #myId#myId { font-weight:normal; } /* Specificity: 200 */
这完全有效,正如W3C选择器3级建议书在其Calculating Specificity section中所述:
Note: Repeated occurrances of the same simple selector are allowed and do increase specificity.