从许多 CSS 选择器中删除项目



我有一个模糊的记忆,但在上面找不到任何东西,关于能够使用关键字"with"或"like"来做类似于以下内容的事情。

using .class1{
  #a1, #a4{color:#ffffff;}
  #a2{color:#dddddd;}
  #a3{color:#eeeeee;}
}

而不必写:

.class1 #a1, .class #a4{color:#ffffff;}
.class2 #a2{color:#dddddd;}
.class3 #a3{color:#eeeeee;}

问题是我在页面中包含一些html/css,而css搞砸了页面的其余部分。所以,我想修改css,让它只影响一小部分,而不是整个页面。我在大量页面上以编程方式完成所有这些操作,因此将所有新 css 包装在"使用 .class1"之类的东西中会容易得多,而不是通过 css 解析并将 .class1 添加到每个选择器的开头。

有什么想法吗?谢谢!!

除非你使用一些像 SASS 这样的 CSS 预处理器,否则没有办法实现你想要的。以下是使用 SASS 时的外观:

.class1 {
  #a1, #a4 {
      color: #ffffff;
  }
  #a2 {
      color: #dddddd;
  }
  #a3 {
      color: #eeeeee;
   }
}

参考:小链接。

包含的 HTML 块包装在其自己的 ID 中,就像#overRideCSS

然后,如果您需要覆盖特定样式,您可以在选择器前面加上该 ID:

#overRideCSS <other selectors> {etc...}

最新更新