css - 覆盖 SASS 类

标签 css css-specificity

我想为用于过滤列表的组件定义样式。我做了一个类来选择所有这些,然后我想覆盖一些选择的类。 一些代码值(value)一千字:

div[class*="filter-"] {
      (some property)
}

.filter-specific {
   (do something more specific)
}

但由于某种原因它不起作用。我虽然定义的顺序很重要,但似乎并非如此。而且我不能把 !important 放在任何地方。那我做错了什么?

最佳答案

那是因为 CSS 的特殊性。

div[class*="filter-"] 具有更好的特异性 (div + [class*="filter-"])然后 .filter-specific.

你可以用这个 CSS Specificity calculator 来测试它.

如果 .filter-specific 总是一个 div,那么你可以这样使用它:

div[class*="filter-"] {
  color: red;
}

div.filter-specific {
  color: blue;
}
<div class="filter-foo">bar</div>
<div class="filter-specific">spec</div>

引用:MDN CSS Specificity

关于css - 覆盖 SASS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45374926/

相关文章:

HTML。将具有子类的多个类分配给一个元素

javascript - 当 var 长度小于 1 时更改边框颜色?

html - 由非水平链接组成的导航栏

html - 将两个 <td> 堆叠在一起

sass - SASS mixin 输出的 CSS 规则被忽略

html - CSS 规则特异性

javascript - CSS Floating ScrollTop 按钮在 iframe 顶部不可点击

javascript - 样式形成 Angular Material 不适用于 IE 11

css - 为什么我的样式表被具有较低特异性的样式表忽略?

html - fa 图标不能与#tag_selector * {_CSS_} 一起使用