2015-05-24 21 views
3

后,我有一个针对同一元素的两个规则:为什么`目标时top`财产不被另一选择重写:元素

.tree-collapsed > .tree-label > .b-node-selector-widget__tree-node > span:after { 
    content: ""; 
    position: absolute; 
    top: 13px; 
    right: 21px; 
    display: block; 
    border-left: 5px solid #616366; 
    border-top: 5px solid transparent; 
    border-bottom: 5px solid transparent; 
} 

而另一个压倒一切的top属性:

treecontrol treeitem > ul > li.tree-collapsed > div > .b-node-selector-widget__tree-node > span:after { 
    top: 8px; 
} 

我可以清楚地看到它们都适用于Chrome工具中的元素:

enter image description here

但是没有一个覆盖另一个。我不明白这是怎么回事。

+0

看起来像一个错误。不确定。你可以发布你的html和jsfiddle以及哪个浏览器? –

+0

不应该'treecontrol treeitem'是'.treecontrol .treeitem'吗? – LinkinTED

+1

[第一个选择器具有更高的特异性](http://www.w3.org/TR/CSS2/cascade.html#specificity)。 – zzzzBov

回答

2

如果计算specificity你会看到第一选择具有更高特异性

.tree-collapsed > .tree-label > .b-node-selector-widget__tree-node > span:after 

0-0-4-1

treecontrol treeitem > ul > li.tree-collapsed > div > .b-node-selector-widget__tree-node > span:after 

特异性有0-0-3-6

41特异性> 36,第一个选择器获胜。

+0

你说得对,我不认为这是问题,因为特性覆盖的属性被显示在Chrome中。谢谢! –

相关问题