Bootstrap4如何定制自己的颜色和风格
作者:切糕糕 发布时间:2024-05-13 09:19:09
Bootstrap是现在最流行的CSS框架,有许多网站、后台管理系统的样式都是基于Bootstrap设计的。然而,Bootstrap 始终保持着那蓝色 + 浅灰色彩基调,最新的 Bootstrap4 也是如此,看久了难免有些审美疲劳。
怎么修改 Bootstrap 的色彩主题呢?本篇就教你如何定制 Bootstrap4,使你的页面更与众不同一些。
0. 需要的工具
Node.js 编译
Bootstrap4、下载Bootstrap的依赖包,需要在电脑上安装 Node.jsBootstrap4 源代码 修改 Boostrap 需要一份源代码,访问 Bootstrap 官方网站(https://getbootstrap.com)可以下载到源代码。
有些地方可能无法访问 Bootstrap4 官网,那么也可以访问 Bootstrap 中文网 下载到源代码。
1. 定制颜色主题
Bootstrap为了方便定制,将一些变量提取了出来,放在 scss/_varaibles.scss 文件中。
打开这个文件,可以发现有非常多的配置,找到这一段:
$primary: $blue !default;
$secondary: $gray-600 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
这里就是配置 Bootstrap 基本色调的地方,修改这些颜色值,可以另网站看上去风格迥异。除了主色调,还有很多颜色相关的变量可以控制,细到一个输入框的边框夜色也可以调整。您可以慢慢尝试。
比如修改 _variables.scss 的这些变量:
$primary: #e95420 !default;
$secondary: #0e8420 !default;
$success: #fff !default;
$light: #e8cd56 !default;
$dark: #e95420 !default;
$input-bg: #c34113;
$input-border-color: #c34113;
$input-placeholder-color: #ccc;
$input-color: #fff;
$jumbotron-bg: rgb(247, 247, 247);
就会得到 Ubuntu 网站类似的色彩风格:
2. 组件外观微调
除了调整颜色,_variables.scss 还有很多变量,能对 Bootstrap 组件的外观进行微调,比如:
$enable-shadows
,控制一些弹出组件周围是否显示阴影
$enable-rounded
,控制组件(按钮、输入框、下拉框等)周围是否显示为圆角
$enable-gradients
,控制组件的背景是否显示微弱的渐变效果
这控制的变量还有很多,就不一一列举了。
4. 编译 Bootstrap
修改完了变量,如何生成自己的 Bootstrap CSS文件呢?需要用 npm 编译。
编译前需要先下载各种依赖包,通过 install 命令搞定:
npm install
提示:Node.js 默认npm官网下载依赖包,可能比较慢。建议从淘宝NPM镜像下载,速度很快:
先执行 npm install -g cnpm --registry=https://registry.npm.taobao.org
然后在任何用到 npm 命令的地方,都可以用 cnpm 代替
依赖下载完之后执行编译:
npm run dist
稍等片刻,编译好的 css 文件会出现在 dist/css/ 目录下,可以复制到你的项目中使用啦!
5. 在 Webpack 项目定制 Bootstrap
以上所说内容都是通过编译源代码的方式定制 Bootstrap4。如果想要在 Webpack 项目中定制 Bootstrap4 该怎么办呢?
直接修改 node_modules 中的 Bootstrap 源码不太合适。官方推荐的方式是,在项目中新建一个 custom.scss 文件,把你想修改的变量写在里面:
// 如果想修改 _variables.scss 中的变量,请写在这里
$primary: #e95420 !default;
$secondary: #0e8420 !default;
...
// 文件末尾请这样引入 Bootstrap 的源码
@import "~bootstrap/scss/bootstrap";
然后在 Webpack 编译时,把 custom.scss 也加入到编译的文件列表中。这需要修改项目中的 webpack.config.js 配置。
那么,webpack.config.js 该怎么写呢?
答案就在 Boostrap4 的官方文档里,您可以自己翻阅。也可通过这个微信号赞助我 1 元,我会直接告诉您答案。谢谢各位土豪,您的支持就是我继续分享的动力!:-)
来源:http://blog.csdn.net/supergao222/article/details/79370345


猜你喜欢
- 本文实例为大家分享了python字符串的操作方法,供大家参考,具体内容如下1.去除空格str.strip():删除字符串两边的指定字符,括号
- 先来看一个例子:>>> def foo(*args, **kwargs): print
- 目录1. 递归函数2. 递归练习3. 小练习总结1. 递归函数# ### 递归函数"""递归函数 : 自己调用
- 目录创建一个Django项目settings.py项目配置文件urls.py路由系统总结创建一个Django项目创建一个名为project的
- 金额大小写转换的asp完全无错版本, 这个版本解决了小数位不能到分的问题,处理方式符合会计方式,值得推荐!<!--#inc
- 我设了两个SESSION:SESSION(A1),SESSION(A2),然后我现在想结束其中一个SESSION(如:ESEEION(A1)
- 1.安装Apachea) 双击文件Apach_2.2.8_win32-x86-no_ssl.msi,弹出欢迎界面。单NEXT按钮,进入到Li
- 本文从树数据结构说到二叉堆数据结构,再使用二叉堆的有序性对无序数列排序。1. 树树是最基本的数据结构,可以用树映射现实世界中一对多的群体关系
- 【eval()函数】JavaScript有许多小窍门来使编程更加容易。其中之一就是eval()函数,这个函数可以把一个字符串当作一个Java
- string iconv ( string $in_charset , string $out_charset , string $str
- 本文实例为大家分享了python实现文件夹远程传输的具体代码,供大家参考,具体内容如下实现功能:通过tcp协议模拟文件夹的下载,注意是文件夹
- 二次移动平均法逻辑二次移动平均法是一种重要的数学工具,用于处理时间序列数据,它的主要目的是通过平滑序列中的噪音数据来更好地捕捉趋势。具体实现
- 函数input()的工作原理函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便
- 本文通过实例为大家分享了python实现批量提取指定文件夹下同类型文件,供大家参考,具体内容如下代码import osimport shut
- 本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下#coding=utf-8from pymongo imp
- 本文实例讲述了Python函数装饰器实现方法。分享给大家供大家参考,具体如下:编写函数装饰器这里主要介绍编写函数装饰器的相关内容。跟踪调用如
- 在python项目中,我们经常会用到lambda,那么lambda是什么呢,有什么作用,下面我们开始介绍1、可以使用lambda关键字创建匿
- 本文实例讲述了Python简单生成随机姓名的方法。分享给大家供大家参考,具体如下:用到random.choice(序列)在一个序列中随机选取
- 为了测试一组网页是否能够访问,采取python中的requests包进行批量的访问测试,并输出访问结果。一、requests包的安装 打开命
- 使用步骤:1、安装:npm i jquery-contextmenu --save-dev2、在main.js文件中引包 im