“*”在 CSS 特异性中排在首位,为什么?
"*" is appearing top in CSS specificity, why?
我无法理解为什么我的 CSS 没有按照我理解的特异性规则的方式进行设计。根据我在网上的阅读(包括 this calculator),*
(匹配所有内容)没有特异性,而元素(例如 h1
、h2
等)有是第四重要的,而 class 是第三重要的。但这不是我在 Chrome 调试器中看到的。
从外观上看,*
排在首位,其次是 h5
,然后是另外两个 *
匹配,然后是 [=29 的匹配=] .orange
。 *
不应该在其他一切之后吗? .orange
不应该战胜 h5
吗?这是怎么回事?
在您的示例中,*
是唯一实际 匹配 相关元素的选择器。
其他样式仅由其他元素的定义继承。这些其他元素与您的元素位于父上下文中。
根据您的屏幕截图,它必须 some-element
在这样的结构中:
<div class="row orange">
<div class="col-xs-10">
<h5 class="detail1">
<some-element></some-element>
关于您的元素,继承的样式根本没有任何特异性。特异性是一个概念,适用于 CSS 选择器 ,而不是 CSS 属性 .
我无法理解为什么我的 CSS 没有按照我理解的特异性规则的方式进行设计。根据我在网上的阅读(包括 this calculator),*
(匹配所有内容)没有特异性,而元素(例如 h1
、h2
等)有是第四重要的,而 class 是第三重要的。但这不是我在 Chrome 调试器中看到的。
从外观上看,*
排在首位,其次是 h5
,然后是另外两个 *
匹配,然后是 [=29 的匹配=] .orange
。 *
不应该在其他一切之后吗? .orange
不应该战胜 h5
吗?这是怎么回事?
在您的示例中,*
是唯一实际 匹配 相关元素的选择器。
其他样式仅由其他元素的定义继承。这些其他元素与您的元素位于父上下文中。
根据您的屏幕截图,它必须 some-element
在这样的结构中:
<div class="row orange">
<div class="col-xs-10">
<h5 class="detail1">
<some-element></some-element>
关于您的元素,继承的样式根本没有任何特异性。特异性是一个概念,适用于 CSS 选择器 ,而不是 CSS 属性 .