【发布时间】:2015-10-11 19:35:28
【问题描述】:
我有嵌套的 div,我正在尝试交替使用背景颜色和边框大小。
我有以下 HTML
<div class="container">
<div class="white-bg-alt">
<div class="white-bg">
<p class="colored-p">FirstPart</p>
</div>
</div>
<div class="white-bg-alt">
<div class="white-bg">
<p class="colored-p">SecondPart</p>
</div>
</div>
<div class="white-bg-alt">
<div class="white-bg">
<p class="colored-p">ThirdPart</p>
</div>
</div>
</div>
我希望能够在奇数时将背景颜色设为灰色 .white-bg-alt .white-bg 在偶数时设为白色。
我还希望 p.colored-p 在 .white-bg-alt .white-bg 为奇数时为白色,在偶数时为灰色。
这是我拥有的 CSS - 但无法正常工作,它要么给我全白,要么如果我修改它,它全给我灰色,但不是 ALTERNATING。
.white-bg-alt .white-bg:nth-child(odd) {
background-color: #EAEAE3;
border-top: 0px;
}
.white-bg-alt .white-bg:nth-child(even) {
border-bottom: 2px;
background-color: #FFF;
}
.white-bg-alt .white-bg:nth-child(odd) .colored-p {
background-color: #FFF;
}
.white-bg-alt .white-bg:nth-child(even) .colored-p {
background-color: #EAEAE3;
}
任何想法为什么这不起作用?我可以用 Javascript 做到这一点,但我宁愿不在 javascript 中做任何样式。
【问题讨论】:
-
:nth-child和:nth-of-type只计算具有 same 父元素的元素。他们必须是兄弟姐妹。 -
你介意举个例子吗?示例,我在网上看到的似乎并不实用或直观。
-
所有
:nth-child的问题是:我是我父母的第 n 个孩子吗?您的代码就是一个完美的例子,请在下面查看我的答案。
标签: javascript html css css-selectors background-color