css - 基于有多少元素的样式元素仅使用 CSS?

标签 css

我需要根据包含的 div 中的标签数量来设置标签样式。

示例代码:

<div class="wrapper">
 <label class="checkout-item-promo" />
</div>

<div class="wrapper">
 <label class="checkout-item-promo" />
 <label class="checkout-item-promo" />
</div>

对于第二个 div,我需要使用 CSS3 的 :before 功能在标签前面添加元素符号,但我只希望它在包装器中有多个标签时发生。

有人有关于使用 CSS 实现此功能的任何提示或技巧吗?

最佳答案

您可以将选择器 :only-child:not 结合使用。据我了解,如果 div 中有超过 1 个标签,您希望将元素符号添加到所有标签,否则(只有 1 个标签)不应添加元素符号。所以你可以试试这个 CSS:

div.wrapper > .checkout-item-promo:not(:only-child):before {
  content:'* ';    
} 

Demo.

关于css - 基于有多少元素的样式元素仅使用 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115128/

相关文章:

css - Bootstrap 中的白色背景类

jquery - 将背景锁定在模态后面

html - 在 Volusion 上替换硬编码标签(用于翻译)

javascript - 在 IE 中需要双击打开下拉菜单,在 Chrome 中工作正常

javascript - selectnav 列表项里面有一个跨度

css - 位置为 : fixed? 的移动对象的转换

css - :only-of-type not working as expected

html - 内联规则集(在样式属性中)发生了什么?

javascript - 在 Vue.js 中有条件地定位具有 CSS 样式的类

html - 如果我有以下代码,如何使我的背景图像在 CSS 中透明?