如何在不复制CSS的情况下覆盖SASS样式

时间:2015-03-16 02:57:50

标签: css sass

我对SASS很新,我目前正在使用SASS编写的库。 我不仅要覆盖这个库中的变量,还要覆盖几个样式的样式。如何在不重复特定类的CSS的情况下覆盖此样式?

要说清楚,我们说我在我的库中有这个类,我在main.scss中导入:

.twitter-foo {
    float: none;
}

现在在我自己的档案中:

.twitter-foo {
    float: a lot more;
}

然后我的输出是:

.twitter-foo {
    float: none; // overriden!
}
.twitter-foo {
    float: a lot more;
}

它确实有用,但它很脏,我讨厌重复代码,而不是提到稍长的页面加载。如果我想从我的库中重新定义.twitter-foo,我该怎么做才能避免臃肿的CSS?

编辑:我不是在谈论SASS和CSS输出之间的中间件(缩小器?),但实际上只是SASS。

1 个答案:

答案 0 :(得分:0)

你可以做的是我的具体,意味着添加更多的选择器,这样你就可以用不同的方式定位.twitter-foo。尝试给你的身体标签一个页面ID或你的主要元素是我通常做的。所以......

<body id="page1">
</body>

然后在scss中你可以:

#page1 .twitter-foo {
   float:none;
}

OR

覆盖或不覆盖add!important到样式的末尾,例如:

.twitter-foo {
    float:none !important;
 }
希望有所帮助。

修改

正如所讨论的Can the SASS minifier remove duplicate styles?

你可以编译你的sass然后通过css整理来运行它将删除重复的类和东西或在答案中http://zmoazeni.github.io/csscss/尝试那个ruby gem。