html - CSS 子选择器问题

标签 html css css-selectors

谁能告诉我“标题”和“标题 2”在下面的示例中是如何被涂成红色的? http://jsfiddle.net/zxfNU/1/

HTML

<div id="root">
    <p>
        <p>Test 1</p>

        <h3>Heading</h3>

        <h3>Heading 2</h3>

    </p>
</div>

<h3>Heading 3</h3>

CSS

div#root > h3
{
    color: red;
}

如果 h3 元素位于 div 下,CSS 难道不会只选择它,而实际上它位于 p 元素下吗?

最佳答案

p 中的

p 不是有效标记。所以结果 html 是:

<div id="root">
    <p></p>
    <p>Test 1</p>
    <h3>Heading</h3>       
    <h3>Heading 2</h3>
    <p></p>
</div>

如您所见,浏览器修复了错误的标记以符合规范。

关于html - CSS 子选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070173/

相关文章:

html - IE 和 HTML5 文档类型问题

php - 如何使用php截取已加载网页的屏幕截图?

javascript - CSS 如何使背景适合整个页面长度?

html - 为同一页面上的多个表格格式化 CSS 样式

css - 在 CSS 选择器中处理元素 ID 中的冒号

html - angular ngx-bootstrap 旋转木马不居中

javascript - jquery 按钮事件处理程序 rails

html - 带有内联 block 的 div 不调整大小

html - 背景顶部的种类(如边框顶部)

css - 第 n 个 child 交替 2 行