html - css:我应该限制通用选择器的使用(*.classname vs a.classname)吗?

标签 html css-selectors css

我有一个关于 CSS 选择器的问题。

假设我有以下 html

<div class="message">
  <div class="messageheader">
    <div class='name'>A news story</div>
  </div>
</div>

在 css 中,我可以像这样引用名为 nameclass

div.message div.messageheader div.name {}

.name {} /* ie *.name{} */

一种方法比另一种更好吗?

我知道如果我有一个名为name 的类的额外“实例”,即

<div class="message">
   <div class="messageheader">
      <div class='name'>A news story</div>
   </div>
</div>

<a class='name'>A news story</div>

我可以使用 div.message div.messageheader div.name {} 引用第一个实例,使用 a.name {} 引用第二个实例,但我只对初始场景感兴趣。

最佳答案

如果您只对初始场景感兴趣,使用 .name 就可以了。事实上,使用 CSS 的最佳实践是始终从更通用的开始,并在进行时集中注意力。

另外,做 div.* 之类的事情是不必要的,除非你在不同的元素上有相同的类并且想让它们不同。如果是嵌套类,那就更没必要了。 .messageheader .name 将提供相同的定位。

记住 CSS 确实意味着级联。如果你让一切都如此有针对性,你将不得不重新定义每个元素。

关于html - css:我应该限制通用选择器的使用(*.classname vs a.classname)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/320841/

相关文章:

javascript - 关闭警报框后如何重定向页面?

javascript - 测试选择器是否匹配给定元素

c# - Selenium 复选框不点击

jquery - 如何将固定元素包含在相对元素中?

javascript - 将百分比添加到随机生成的数字

CSS 目标链接的图像以及将多张图像放在一行中的最佳方法

javascript - jQuery 添加另一个 html 标签到现有标签

javascript - 在 window.open() 中打开页面的一部分的任何方式

javascript - 如何将一个文本字段中输入的文本实时复制到多个文本字段?

CSS 相邻选择器 + :after pseudo element