div.selector与selector

时间:2011-11-09 08:15:19

标签: css css-selectors

在css中,我看到div.selector和selector都用于定义特定选择器的样式规则。

两者之间的区别是什么?在编写我自己的css文件时,我应该考虑采用其中一个原因的原因是什么?

3 个答案:

答案 0 :(得分:9)

  • div.selector仅定位div类的selector个元素。
  • .selector定位类.selector的所有元素,而不只是DIVs

因此,如果您知道将要应用css的那个,那么前缀元素带有标记名称。后一种方法更多是 泛型 ,并且针对具有指定类的所有元素。但是,您应该尽可能具体

如果您知道只有div个元素具有.selector,那么就性能而言更具针对性,例如div.selector而不是.selector它将查找页面上的所有元素,但最终将这些样式仅应用于DIVs

答案 1 :(得分:3)

div.selector是比.selector更具体的选择器。

例如,你有这个HTML:

<a href="" class="selector">Link</a>
<div class="selector"></div>

选择器div.selector仅匹配.selector选择两个元素的div。

答案 2 :(得分:1)

如前所述,为类添加元素名称前缀(即:div.selector)将只选择div作为元素,但不包括任何其他元素。考虑到这一点,您可以创建可应用于多个元素和/或定位单个元素的类。

就可读性而言,为您的班级添加前缀可以帮助您和您的团队确定css中元素的来源。但是,就一般最佳实践和性能而言,通常建议您尽量不要为您的类和ID声明添加前缀,因为它会导致用户的浏览器引擎进行额外的工作。

通过为您的类添加前缀(即:div#selector或div.selector),您的浏览器必须找到该类,然后确定它是否为div类型)。虽然这样做所需的时间可以忽略不计,但我觉得还值得一提。

以下是关于表现和实践问题的一些有用链接:

https://developer.mozilla.org/en/Writing_Efficient_CSShttp://css-tricks.com/efficiently-rendering-css/