css:not()选择器与传入的选择器列表

时间:2015-05-12 18:12:56

标签: javascript css css-selectors

我有很多css选择器和很多选择器异常,所以我使用:不要把它们排除在外......

示例(只是我不需要的一些选择器):

[class*="-dashboard-"]:not([class$="-binding"]), [class*="-dashboard "]:not([class$="-binding"]), [class$="-dashboard"]:not([class$="-binding"])

但我更喜欢的是:

([class*="-dashboard-"],[class*="-dashboard "],[class$="-dashboard"]):not([class*="-binding-"],[class*="-binding "],[class$="-binding"])

或其他东西,比工作的短,更容易编辑而不是那么重复...

我的问题是我在大名单中有选择器。允许用户添加/删除列表,因此我必须动态更改选择器和例外。

是否有人想要缩短那个?

1 个答案:

答案 0 :(得分:0)

通常,我的CSS看起来越具有特异性。一个非常通用的规则设置了很多默认值,然后肯定与你给我们的那些规则之一匹配的东西用其他东西覆盖那个样式。

例如,您可以为以" -binding"结尾的任何内容设置更高优先级的规则。这使得元素不可见,或者无论你想要什么。简单来说,要计算CSS规则的优先级:

  • 为每个ID选择器添加100
  • 为每个类选择器添加10
  • 为每个其他选择器添加1

我认为通过在您的元素中添加更多易于选择的类来做得很好,即添加lolwtf-dashboard类的任何内容都应添加dashboard类。很容易选择CSS。