使用Compass Mixin添加!重要

如果我使用指南针的CSS和使用一个函数或混入像:

@include background-image(linear-gradient(#a3cce0, #fff)); 

是否有任何简单的方法来指南针添加!重要的是它产生的每一行?

更新 :sass的新版本现在支持这种语法:

 @include border-radius(5px !important); 

只要这样做(如@naoufal答案中所述)。

—老答案—

你不能使用!重要的指南针混合,但罪魁祸首不是指南针,你应该责备这个。

 @include border-radius(5px) !important; #=> SASS Syntax Error 

你可以像这样在mixin中包含它:

 @include border-radius(5px !important); 

罗盘将输出以下内容:

 -webkit-border-radius: 5px !important; -moz-border-radius: 5px !important; -ms-border-radius: 5px !important; -o-border-radius: 5px !important; border-radius: 5px !important; 

我上次遇到了这个问题,我用一个更强的select器来压制罗盘的风格。 我只是在我的HTML元素上添加了一个ID

 span { @include border-radius(5px);} span#no-radius { @include border-radius(0px); } // override 

这个问题出现在我的search类似的问题,这是现货,但我只是想补充一点, 使用可选参数做一个萨斯混合是另一种可能的方法,我觉得有用。

在需要的时候用importantreplaceinsetimportant !important

花了几个小时弄清楚这一点,但有一个快速的技巧,你可以做的。 在SASS文件的顶部添加以下内容:

 $i: unquote("!Important"); 

在你的风格做以下几点:

 color: #CCCCCC $i; 

输出是:

 color: #CCCCCC !Important; 

全样本:

 $i: unquote("!Important"); .some-style { color: white $i; } 

输出:

 .some-style { color: white !Important; } 
Interesting Posts