【发布时间】:2023-04-07 18:19:02
【问题描述】:
我一直在尝试这样做,感觉应该相当简单:
<div id = "container">
<div id = "item1" class = "item"> </div>
<div id = "item2" class = "item"> </div>
<div id = "item3" class = "item"> </div>
</div>
如何逐个选择每个项目并为每个项目分配不同的background(不使用ids)?
我想要达到的目标:
#item1 {
background: red;
}
#item2 {
background: blue;
}
#item3 {
background: yellow;
}
<div id="container">
<div id="item1" class="item"> </div>
<div id="item2" class="item"> </div>
<div id="item3" class="item"> </div>
</div>
但是有没有办法一个一个地选择#container div 中的每个元素,而不管它的id 值是多少?通过执行以下操作:
.container:nth-child(1){ /*select first child of .conainter (#item1) ?*/
background: red;
}
或
.item:nth-of-type(2){ /*select second element of type .item (#item2) */
background: blue;
}
【问题讨论】:
-
我也想看看你认为应该先做什么。此外,仅凭此描述不足以了解您要完成的工作。这是重复模式吗?还是每个人都有独特的背景?如果您要选择后者,为什么不直接使用 ID?如果您的孩子多于背景会怎样?
-
@CoryCoolguy 我添加了更多信息并说明了我所说的 nth-child 和 nth-of-type 的意思
-
在回复您的编辑时,不,您没有正确执行 CSS。要使用第 n 个类型,您必须指定内部值。将第 n 种类型添加到容器中不会起作用,因为您基本上说我希望第二个或第三个容器是红色的等等。看看下面的答案,因为它们提供了 3 个正确的使用方法。
标签: css css-selectors