除了.content-area
下的p之外,我想选择<footer>
中的所有p。我如何在CSS中执行此操作?顺便说一下,<footer>
位于.content-area
无论如何,这是我想在.content-area
.class p {padding-top: 20px; padding-bottom: 20px;}
编辑:根据下面的评论,源代码看起来像这样。
<div class="content-area">
<img />
<p></p>
<p></p>
<footer>
<p></p>
<ul></ul>
</footer>
</div>
任何人都可以帮助我吗?
答案 0 :(得分:4)
您如果段落直接位于.class
元素中,则应使用children selector作为.class > p
来选择p
元素。
.class > p {
background-color: gold;
}
<强> Demo 强>
为了选择嵌套<p>
元素而不是嵌套在footer
中的元素,您可以使用:not()
伪类,如下所示:
.class > p,
.class :not(footer) p {
background-color: gold;
}
<强> Updated Demo 强>
但是,您也可以将应用的样式覆盖到页脚内的段落。
答案 1 :(得分:1)
您只需要在<footer>
:
.class p {padding-top: 20px; padding-bottom: 20px;}
.class footer p {padding-top: 0; padding-bottom: 0;}
根据您的修改,您可以使用直接子>
选择器:
.content-area > p {
padding-top: 20px; padding-bottom: 20px;
}
答案 2 :(得分:0)
使用直接子选择器
.content-area > p {
padding-top: 20px; padding-bottom: 20px;
}
这会将样式仅应用于.content-area