【问题标题】:CSS selector for not having classes没有类的 CSS 选择器
【发布时间】:2017-02-08 22:16:09
【问题描述】:

我正在使用选择器来选择所有不属于一个类的元素:

.list th:not(.foo) {
  /* some rules */
}

如何将其应用于多个课程?

.list th:not(.foo), .list th:not(.bar) {
  /* some rules */
}

上面的CSS当然不会这样做,我需要这样的伪:

.list th:not(.foo and .bar)

在 CSS 中是否可行?如何实现?

【问题讨论】:

  • 这个问题有 4 票?首先,它是stackoverflow.com/questions/5684160/… 的重复项。其次,它是一个问题,可以在 google 甚至在 stackoverflow 上轻松找到答案。
  • 然后呢?我搜索了很多,没有找到任何东西
  • 我的问题不是关于多个非选择器,这就是答案,我不知道
  • 这里有数千个重复的问题,有 100 多张选票......你的问题是什么,伙计?
  • :) 好。你需要知道如何搜索:“css:not multiple class”这样的东西。没那么复杂。另一个 SO 问题已被标记为与我之前给您的问题重复:stackoverflow.com/questions/24266518/… .......我没有问题。我只是说发布一个已经被问过很多次并且很容易找到答案的问题,应该避免并且肯定不应该被授予支持

标签: css


【解决方案1】:

您可以使用任意数量的:not() 选择器。

:not(.foo):not(.bar)

【讨论】:

    【解决方案2】:

    使用即将推出的 CSS4 选择器,您可以使用如下语法:

    :not(.class1, .class2, .class3)
    

    等等。但到目前为止浏览器支持并不好。为了今天能够使用它,您可以使用 cssnext 为例。

    【讨论】:

      【解决方案3】:
      .list th:not[class*="class"] { }
      

      它适用于所有类,例如 class1、class2 等。

      【讨论】:

      • 类名只是示例,完全不同的类名怎么样?
      • 不,它不起作用,不适用于 class1class2,您也不能将其应用于具有完全不同名称的类,例如 fe my_classyour_house。跨度>
      • .list th:not[class^="class"] { }
      • 将是:list .th:not([class^="class"])
      【解决方案4】:

      使用逗号分隔类名可以得到你想要的

      .list th:not(.class1, .class2)
      

      【讨论】:

        猜你喜欢
        • 2013-04-04
        • 2011-04-18
        • 2019-06-17
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2016-07-21
        • 2011-11-12
        • 2015-03-10
        相关资源
        最近更新 更多