Html 子组合子与span

Html 子组合子与span,html,css,Html,Css,我有这个款式 div > .action{ color: blue; } 这个密码呢 <div> <p class="action"> Hey, this is a first action paragraph. <span> This is a SPAN inside the action</span> <h3>Not a direct chil

我有这个款式

 div > .action{
     color: blue;
 }
这个密码呢

    <div>
    <p class="action">
         Hey, this is a first action paragraph.
        <span> This is  a SPAN inside the action</span>
        <h3>Not a direct child, not a DIV, but a h3 block</h3>
        <div>Not a direct child but a DIV</div>
        <span> This a SPAN inside the action, AND after the closing block</span>
    </p>
    </div>
因此,当h3、div和下一个量程为黑色时,第一个量程为蓝色。在铬、IE和FF上测试

是否存在内联/块隐藏规则


编辑:我在段落中添加了非法元素。用div更改p会使其变为蓝色。虽然我不希望这样,但我认为我应该在返回那里之前处理规范。

表示的是的直接子级,因此您的代码读作“选择一个.action类,它是div的直接子级”。取出箭头,整个p将是蓝色的,而且内联级元素不能包含块级元素,根据HTML语法规则,p元素不能包含h3元素。这条规则是由浏览器强制执行的:当浏览器在p元素打开时遇到标记时,它们会隐式关闭p元素。这意味着后面的

标记无效且被忽略。因此,p元素只包含图像显示为蓝色的文本

如果修复标记(例如,用div元素替换p元素),则情况会发生变化:

div>.action{ 颜色:蓝色; 嘿,这是第一个动作段落。 这是动作中的一个跨度 不是直接子级,不是DIV,而是h3块 不是一个直系子女,而是一个DIV 这是动作内部和闭合块之后的跨距
在您的示例中,您遗漏了一个div作为p的父项。您的HTML无效。“s”不能包含“s”或“s”。@j08691这就是答案。确切地说,我在测试中有一个div,把它放在那里。确切地说,内联不能包含块。现在它都是蓝色的。猜猜IntelliJ错了什么。