【问题标题】:why use a "body h1" selector instead of "h1"为什么使用“body h1”选择器而不是“h1”
【发布时间】:2014-01-03 21:41:53
【问题描述】:

css 选择器body h1 而不是简单的h1 有什么用?除了body 之外,其他任何地方都可以有h1 标签吗?

【问题讨论】:

  • 不,不能。添加body 可能是一种特殊性黑客攻击,或者其他什么。
  • “body h1”选择器比“h1”选择器更强大,因此“h1”选择器中声明的规则可以被更具体的选择器覆盖为“body h1”。虽然使用类更好。

标签: html css css-selectors


【解决方案1】:

body h1specificity (docs)h1 更高。

这是唯一的区别(至少在有效的 html 页面中)。

【讨论】:

    【解决方案2】:

    实际上,除了您使用的选择器的特殊性之外,没有其他区别。

    h1 {} 将选择所有 h1 元素。

    body h1 仍将选择所有 h1 元素,但只会选择 body 标记内的元素(当然,它们应该始终如此)。

    如果您有h1 { color:red }body h1 { color:blue },则更高的特异性blue 将取代red

    这在处理嵌套的 DOM 元素时更有用。例如。 ul li h1 { color:green }

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多