我很难理解为什么某些属性的行为不符合 W3 规范中规定的行为。
例如,在 specification它说“背景图像”和“背景颜色”属性不是继承的。
但下面的代码证明了这一点。
CSS
#nav > li {
background-color: yellow;}
标记
<div>
<ul id="nav">
<li>This is a list</li>
<li>This is a list</li>
<li>
<ul>
<li>This is a list</li>
<li>This is a list</li>
</ul>
</li>
</ul>
</div>
你会看到,即使是嵌套在第三个列表项中的第二级列表项也改变了它们的背景颜色,而我只打算将它应用于第一级列表项的直接子项.
现在我的问题是这个。
为什么会这样?谁错了,是浏览器还是规范?我错过了什么吗?
感谢任何帮助。
最佳答案
我想我找到了你的答案。 当您查看开发者工具时,您会发现第 2 层没有背景色。你看到的颜色,就是父 li 的颜色 :-)
#nav > li {
background-color: yellow;
}
有了 border 属性你可以看得更清楚。
更新的 fiddle :
http://jsfiddle.net/2brhj2bq/1/
#nav li {
border:1px solid red;
}
#nav > li {
border:1px solid lime;
}
关于html - 属性(property)未按规范行事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28066023/