我想知道为什么有些css文件使用div.border而不是.border来列出CSS中的扇区。我已经看到它用于多个扇区,例如div.footer {color:#000000;}
,而不仅仅是.footer {color:#000000;}
感谢您的帮助。
答案 0 :(得分:2)
您可能需要指定元素的原因有三个:
您正在将该类应用于多种类型的元素和需要 添加或覆盖特定元素的规则。
您希望在样式表中提供上下文信息 (通常为其他开发者提供)
您需要额外的特异性来覆盖另一个类的样式规则。
总的来说,我认为#1是一个坏主意,除了一些实用程序类(如浮点数或清除),我认为通过使用像Saas和mixins这样的预处理器可以更好地处理
我认为第二种情况具有可疑价值。如果你碰到第三种情况(就像在!important
中撒上一样),你可能想要重构一些东西以避免这样做。在任何情况下都要注意,如果不需要它们,那么向选择器添加元素只会减慢匹配速度
答案 1 :(得分:1)
点之前存在“div”意味着选择器仅适用于div类型的DOM元素。
因此,例如,如果您有一个名为“foo”的类,
.foo {
color:#ff0000;
}
它会使文本变成红色。使用div.foo会导致指令仅应用于该类的div。
答案 2 :(得分:1)
考虑<div class="border">Div with border</div>
和<p class="border">Paragraph with border</p>
之间的区别。 .border { ... }
的风格会影响这两种风格,而div.border{ ... }
只会影响div。
答案 3 :(得分:1)
如果你想要写的.border类规则只适用于div容器,而不是表容器或其他元素,那就是你如何做的。关于CSS选择器有很多好文章,其中this只是一个。
答案 4 :(得分:1)
如上所述,将div元素添加到页脚类将确保样式仅应用于具有类“footer”的div,而不应用于具有类“footer”的其他元素。
理想情况下,如果您确定只在一个特定DOM元素上使用该类,则只需使用.footer。在DOM之前添加DOM元素是不必要的,并且对渲染性能有负面影响(好吧,它实际上没有太大影响,但它仍然效率低下)。