css - 一个选择器来匹配第一个没有某个类的元素

标签 css css-selectors

假设我有这样一个列表:

<ul>
    <li class="hidden">Horse</li>
    <li>Bear</li>
    <li>Cat</li>
</ul>

是否有可能获得第一个没有 .hidden 类的 li 元素,I tried this和许多其他但它没有用:

li:not(.hidden):nth-child(1) {
    /* ... */
}

Fiddle with test

最佳答案

This StackOverflow answer非常详细地解释了这个主题。使用“应用于所有这些,然后删除除第一个之外的所有内容”的解决方案适用于您的 fiddle :

li:not(.hidden){
    color: #0F0;
}

li:not(.hidden) ~ li:not(.hidden){
    color: inherit;
}

关于css - 一个选择器来匹配第一个没有某个类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949445/

相关文章:

html - 如何解决这个简单的 IE 渲染问题?

html - 将全宽固定标题与主要内容对齐?

css - 是否有 "previous sibling"选择器?

css - 我应该在 <main> 标签上添加一个类吗?

javascript - 加速选择器和方法

javascript - Google Apps 脚本 - 包含外部文件的模板语句不起作用

javascript - 使用 Bootstrap 将 jQuery 应用于正文(背景)但不应用于模态

css - Firefox 混合混合模式错误

html - CSS 中唯一具有文本兄弟的 child

css - 以不同颜色显示 div 的第一个元素