CSS选择器无法按预期运行

时间:2017-07-17 20:22:58

标签: html css

在以下简单文件中:

div+p {
  color: red;
}
<div>
  <p>Hi Caitlin! Welcome to CSS!</p>
</div>

'p'(段落)标签之间的文本尽管是div元素的子元素,但不会显示为红色。 '〜'选择器也不起作用,但是'&gt;'按预期执行。我在Windows机器上使用Chrome 49。

2 个答案:

答案 0 :(得分:1)

+是相邻的兄弟组合子。

divp有父/子关系(>是子组合子,而空格是后代组合子)而不是兄弟/姐妹关系(这将是{ {1}})。

答案 1 :(得分:-1)

div是父元素,而p是子元素

由于元素之间的关系是亲子关系,因此您必须使用'>'' '

但请注意div > p只会选择直接的p子元素,但它不适用于p不是直接子元素的其他div元素

那是

div > p{ color: red; }

只能像这样工作

<div>
    <p>this will be in red color</p>
    <div>
        <p>this will not be in red color</p>
    </div>
    <p>this will also be in red color</p>
    <div>
        <div>
            <p>this will not be in red color</p>
        </div>
    </div>
</div>

div p{ color: red; }

像这样工作

<div>
    <p>this will be in red color</p>
    <div>
        <p>this will also be in red color</p>
    </div>
    <p>this will also be in red color</p>
    <div>
        <div>
            <p>this will also be in red color</p>
        </div>
    </div>
</div>