财产不符合规范

时间:2015-01-21 11:23:32

标签: html css

我很难理解为什么某些属性的行为不符合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>

你会看到即使是嵌套在第3个列表项中的第2级列表项也改变了它们的背景颜色,而我只打算将它仅应用于作为第1级列表项的直接子项

现在我的问题是这个。

为什么会这样?谁在这里错了,浏览器或规范?我错过了什么吗?

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我想我找到了答案。 当你看到devtools,你会看到,第二级没有背景颜色。你看到的颜色是父李的颜色: - )

Fiddle

#nav > li {
    background-color: yellow;
}

enter image description here

使用border属性可以更好地看到它 更新小提琴: http://jsfiddle.net/2brhj2bq/1/

#nav li {
    border:1px solid red; 
}

#nav > li {
    border:1px solid lime;
}

答案 1 :(得分:0)

这是因为下一个UL也在Li中,并且li具有bg颜色黄色,因此它应该是黄色的。只是想想你做了什么,你正在分配bg然后你正在寻找为什么它正在发生它不是内部ul的bg它是ul#nav li的bg。