删除引导3默认样式

对于最近的网站,客户有5种不同的品牌造型的颜色。 所以为了跟踪更less的文件(我们使用节点编译为一个最终的css文件)中的所有内容,我将颜色定义为更less的variables,并使用.button-variant()混合来生成样式。 例如

@color-cta-light: #df134d; @color-cta-dark: #860c2f; @color-cta-background: #fcf7fa; .btn-cta { .button-variant(#ffffff, @color-cta-light, @color-cta-dark); } 

这工作正常。 不过,我也是使用面板来完成的,现在我已经结束了一个11,000行的css文件。 这是很长的,因为我们需要大多数默认的Bootstrap样式(如.btn样式)以及我的自定义样式。

我想知道的是(并保持它只是简单地使用button作为例子)是否有一个很好的简单的方法来删除在CSS属于默认的引导button样式,即btn成功,btn警告,等等,简单,我的意思是自动的。 我们使用节点lessc模块来编译较less的文件(使用grunt watcher),所以我想象一下在编译之后需要发生什么。

或者,我应该只是修改默认引导混合,什么也不做,并使用我自己的自定义混合? 我觉得这样可以工作,但是这意味着每一个新版本的Bootstrap(当前3.1)都花费额外的时间来确保自定义的mixin是最新的。

我希望最终是一个单一的样式表,从button.less默认button样式没有未使用的CSS额外的重载。 有我的理解,这是不可能的,但我希望有一些工具,我不知道这将有助于我的情况。

如果我正确地理解了你的话,同时把你的问题和你的评论都看作是Bass Jobsen,那么你想保持 Bootstrap样式,而不是 “button样式”。

我相信LESS (reference)function仍然是你想要的,但只是有select地应用。

假设你正在使用“bootstrap.less”文件,在“buttons.less”文件之前添加引用符号,就像这样(为了简洁起见,我忽略了大部分正常的“boostrap.less”文件):

 // Core variables and mixins @import "variables.less"; @import "mixins.less"; ... // Core CSS ... @import (reference) "buttons.less"; // Components ... // Utility classes @import "utilities.less"; @import "responsive-utilities.less"; 

这将完全停用在你的输出CSS代码中生成的“buttons.less”的所有类,但仍然保持这些类可用于混合的目的。 如果你需要从代码中得到一个特定的部分,让我们说你想保持基础.btn类,那么你将不得不把它加回到你的CSS,如下所示:

 .btn { .btn; } 

外部的.btn将在您的代码中.btn一个类,而内部的.btn将使用引用的“buttons.less” .btn来生成代码。

以这种方式使用(reference)可以让你有select地删除模块的boostrap的方面,同时保持这些方面的其余引导和任何混合使用你可以访问。 如果你希望从模块中删除大部分的代码(如果你真的想保留大部分的代码,最好是让未使用的部分保留并正常导入),这可能是一个更好的方法。

您可以使用参考导入:

 @import (reference) "bootstrap.less"; @color-cta-light: #df134d; @color-cta-dark: #860c2f; @color-cta-background: #fcf7fa; .btn-cta { .button-variant(#ffffff, @color-cta-light, @color-cta-dark); } 

这会给你只有你的CSSbutton。 (和一些:之前:伪类,这似乎是一个bug我)。