可能被视为How does a CSS rule override another CSS rule的副本,但在我的标记中
div .child { deceleration }
.parent div { deceleration }
和样式表
.parent div { deceleration }
造成什么
div .child { deceleration }
倍率
var labels = document.querySelectorAll('.navLabel');
因为后者更具体,我认为 提前谢谢
答案 0 :(得分:-2)
根据Cascading order CSS有一个决策算法,用于在所有与元素匹配的选择器之间发生冲突时找到应用的声明:
作者样式表中的声明(由网站提供)
特异性=连接& b& c,具有以下顺序和重量:
a = 100 *(选择器中的ID属性数)
b = 10 *(选择器中的类属性(或伪类)的数量)
c = 1 *(选择器中标签名称(或伪元素)的数量)
更高的特异性(第一)
较低的特异性(下一个)
user style sheet中的声明 [如第2部分]
注1
使用元素的style
属性将等于样式表末尾指定的基于ID的选择器。
所以:
<div id="myDiv" style="color:red">My content</div>
等于:
<div id="myDiv">My content</div>
#myDiv{ /* last line of stylesheet */
color:red
}
注2
某些HTML属性具有风格,如
这些属性被转换为与相应的CSS规则的特异性强>等于1,并且假定在在作者的样式表的开始
要被放所以:
<div id="myDiv" align="center">My content</div>
等于:
<div>My content</div>
div{ /* first line of stylesheet */
text-align:center
}
那是因为
的存在.parent div { deceleration }
如果你像这样把它放在上面
.parent div { deceleration }
div .child { deceleration }
然后
div .child { deceleration }
会适用。