更新2019-Bootstrap 4
我正在重新讨论4.x的Bootstrap自定义问题,该问题现在使用SASS而不是LESS。通常,有两种自定义Bootstrap的方法...
1.简单的CSS覆盖
定制的一种方法就是简单地使用CSS覆盖Bootstrap CSS。为了可维护性,将CSS自定义项放在单独的custom.css
文件中,以使bootstrap.css
其余部分保持不变。该参考custom.css
如下之后的bootstrap.css
的覆盖工作...
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/custom.css">
只需添加自定义CSS中所需的任何更改即可。例如...
/* remove rounding from cards, buttons and inputs */
.card, .btn, .form-control {
border-radius: 0;
}
之前(bootstrap.css
)
之后(与custom.css
)
进行自定义时,您应该了解CSS特殊性。在重写custom.css
需要使用那些具体的选择bootstrap.css
。
请注意!important
,除非您要覆盖Bootstrap Utility类之一,否则无需在自定义CSS中使用。CSS特异性
始终适用于一个CSS类来覆盖另一个CSS类。
2.使用SASS进行自定义
如果您熟悉SASS(并且应该使用此方法),则可以使用自己的自定义Bootstrap custom.scss
。Bootstrap文档中有一个部分对此进行了说明,但是文档中没有说明如何利用中的现有变量custom.scss
。例如,让我们将主体的background-color 更改为#eeeeee
,并将蓝色上下文颜色更改/覆盖primary
为Bootstrap的$purple
变量 ...
/* custom.scss */
/* import the necessary Bootstrap files */
@import "bootstrap/functions";
@import "bootstrap/variables";
/* -------begin customization-------- */
/* simply assign the value */
$body-bg: #eeeeee;
/* use a variable to override primary */
$theme-colors: (
primary: $purple
);
/* -------end customization-------- */
/* finally, import Bootstrap to set the changes! */
@import "bootstrap";
这也可以用来创建新的自定义类。例如,在这里我想补充purple
到创建主题颜色全部为CSS btn-purple
,text-purple
,bg-purple
,alert-purple
,等...
/* add a new purple custom color */
$theme-colors: (
purple: $purple
);
https://www.codeply.com/go/7XonykXFvP
使用SASS,必须在自定义后使用@import bootstrap才能使它们起作用!一旦将SASS编译为CSS(必须使用SASS编译器node-sass,gulp-sass,npm webpack等完成此操作),生成的CSS是自定义的Bootstrap。如果您不熟悉SASS,则可以使用我创建的此主题生成器之类的工具来自定义Bootstrap 。
自定义引导程序演示(SASS)
注意:与3.x不同,Bootstrap 4.x不提供官方的定制工具。但是,您可以仅下载网格 CSS,也可以根据需要使用其他4.x定制构建工具来重新构建Bootstrap 4 CSS。
相关:
如何使用SASS扩展/修改(自定义)Bootstrap 4
如何更改引导程序原色?
如何使用sass在Bootstrap 4中创建一组新的颜色样式
如何自定义Bootstrap