css(>)中的直接子选择器选择直接子类并将颜色传递给它们,但是当涉及到文本修饰时,它也会选择其他元素。怎么来的?CSS:直接加减选择器。它选择非直接子元素
http://codepen.io/anon/pen/dDJmE
颜色我看到它仅选择直接descedants,但为什么不是文字修饰的行为是否正确?我错过了什么?
CSS
li {
text-decoration: none;
color: black;
}
ol.numbers > li {
text-decoration: underline;
color: red;
}
HTML
<ol class="numbers">
<li> First! </li>
<li> Second!
<ul>
<li> hehe </li>
<li> huhu
<ol>
<li> nested! </li>
</ol>
</li>
</ul>
</li>
<li> Third! </li>
<li> Fourth!
<ol>
<li> oh lala </li>
</ol>
</li>
</ol>
请注意,我们要求您将您的代码包含在您的问题中,而不是链接到它。这样,如果其他人看到这个问题并且链接的代码消失了,他们仍然可以推导出解决方案。 – mrtsherman 2013-03-02 22:13:11
[CSS文本修饰属性不能被子元素覆盖]的可能重复(http://stackoverflow.com/questions/4481318/css-text-decoration-property-cannot-be-overridden-by-child-element) – 2013-03-02 22:32:09
只是为了说清楚:问题不在于选择器,而在于文本装饰的工作原理。 – 2013-03-02 22:35:03