我知道我可以根据元素与:has()个伪类的子级数量来在CSS中设置元素的样式:

.wrapper:has(> :last-child:nth-child(3)) { 
  background-color: red;
}

然而,在我的例子中,HTML看起来是这样的:

<div class='list'>
  <div class='wrapper'>
    <span>Element1</span>
    <span>Element2</span>
    <span>Element3</span>
  </div>
</div>

我想根据有多少元素来设计list类的样式.

推荐答案

此代码片段根据.wrapper有多少children来为.list的背景上色.它补充说,它希望.wrapper成为.list的第一个子元素,因为这就是它在给定代码中的情况.

.list:has(.wrapper:first-child > :last-child:nth-child(3)) {
  background-color: red;
}
<div class='list'>
  <div class='wrapper'>
    <span>Element1</span>
    <span>Element2</span>
    <span>Element3</span>
  </div>
</div>

注意:如果列表内的任何旧包装是必需的,则删除:第一个子元素

Css相关问答推荐

如何使用css创建带有曲线的自定义按钮

当滚动到页脚时,是否可以隐藏固定元素?

如何将div与图像维度进行zoom ?

JavaFX如何在Tableview中使用默认和自定义的列标题CSS样式?

如何将此 Select 器转换为TailWind类

为什么我的 CSS 转换在 React 18 中不起作用

如何在 VS Code 中获得 JavaFX CSS 属性的自动完成功能?

TypeScript 中有效的 CSS 属性名称数组,但带有连字符

如何在真实文本旁边制作文本阴影,使其看起来像 css 中的重复文本?

使用border-radius CSS时平滑边框

flex-start 和基线有什么区别?

如何通过单击
  • 激活 HTML 链接?
  • 在 CSS 或 JavaScript 中反转图像的 colored颜色

    绝对位置和溢出:隐藏

    如何在需要时通过 HTTPS 包含 CSS 和 JS 文件?

    在CSS中将文本和 Select 框对齐到相同的宽度?

    水平列表项

    将未知大小的大图像居中在一个较小的 div 中,并隐藏溢出

    如何使用 JavaScript 获取元素的背景图片 URL?

    仅当存在 2 个类时,您可以使用 CSS 定位元素吗?