css - 显示一流类型

标签 css css-selectors pseudo-class

我有一个元素列表,每个元素都有一个类别,并且该类别在整个过程中重复出现。我只想显示每个类的第一个实例。 仅使用 CSS 是否可行?

<ul>
   <li class="red">red</li>
   <li class="red">red</li>
   <li class="blue">blue</li>
   <li class="blue">blue</li>
   <li class="yellow">yellow</li>
   <li class="red">red</li>
   <li class="yellow">yellow</li>
</ul>
ul li {display:none}
ul li .red:first-child, ul li .blue:first-child, ul li .yellow:first-child { display:block}

所以在上面的代码中,只有第一个、第三个和第五个列表项应该显示。

最佳答案

使用此代码并根据需要添加尽可能多的类。

.red,
.blue,
.yellow
{
    display: list-item;
}

.red ~ .red,
.blue ~ .blue,
.yellow ~ .yellow
{
    display: none;
}

检查 this JSFiddle使用您的 HTML 并且仅显示每个类的第一个元素。

如果您有一组预定义的类名,这当然是微不足道的。如果你的类名未知和/或它们的数量难以管理,他们最好求助于一些脚本(使用 jQuery 会有很多帮助)

关于css - 显示一流类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407907/

相关文章:

jquery - 如何在一个页面布局中添加和删除自动导航的事件类?

jQuery悬停父级影响子级

javascript - 在 chrome 中,div 没有排在前面的 div 问题之前

html - 如何使具有相同特性的 css 选择器按照 HTML 标签的 parent 身份顺序应用?

css - 如何旋转:before pseudo element when parent is hovered

css - 如何仅使用 css 更改 <p> 每个字母的颜色

css - 覆盖 :after & : before classes content of Bootstrap

html - 没有单位的 CSS 属性的回退

CSS继承怪癖

css - 选择特定 div 中具有特定类的元素