html - 属性(property)未按规范行事

标签 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>

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

现在我的问题是这个。

为什么会这样?谁错了,是浏览器还是规范?我错过了什么吗?

感谢任何帮助。

最佳答案

我想我找到了你的答案。 当您查看开发者工具时,您会发现第 2 层没有背景色。你看到的颜色,就是父 li 的颜色 :-)

Fiddle

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

enter image description here

有了 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/

相关文章:

html - 带有 css flexbox 的子级位于父级后面

jquery - 动态和自定义 div 定位

html - 我可以在 Safari 和 Chrome 上禁用 YUI 菜单中的蓝色突出显示吗?

html - 使用@helper.inputText ("property"时不在输入框前显示文本)

javascript - 查找离位置最近的 html 元素(相对或绝对)

html - 需要距电池顶部的空间

javascript - Prestashop Bitnami 仅使用默认主题链接 css 和 js 文件,为什么?

Javascript 在本地和服务器上的行为不同

html - 表格中 url 的自动换行适用于 chrome 和 safari,不适用于 firefox

html - 调整大小时如何使四个按钮保持在同一行?