开始

Bootstrap · The most popular HTML, CSS, and JS library in the world.

CDN链接及包含代码:

描述

网址

CSS

https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css

JS

https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap demo</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
  </head>
  <body>
    <h1>Hello, world!</h1>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
  </body>
</html>

单独的Popper及JS(不使用Popper可以节省空间)

<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.min.js" integrity="sha384-G/EV+4j2dNv+tEPo3++6LCgdCROaejBqfUeNjuKAiuXbjrxilcCdDz6ZAVfHWe1Y" crossorigin="anonymous"></script>

NPM(

NPM 使用介绍 | 菜鸟教程

npm install bootstrap@5.3.8

其他下载方式

下载 ·Bootstrap v5.3

JavaScript

JavaScript ·引导 v5.3

辅助工具

Bootstrap 和 Webpack ·引导 v5.3:简化多个文件及依赖项的复杂项目的管理

Bootstrap 和 Parcel ·引导 v5.3:快速开发

Bootstrap 和 Vite ·引导 v5.3前端构建工具

RFS ·引导 v5.3:调整字体

RTL ·引导 v5.3

使用

文件结构

文件结构(使用包管理器)

your-project/
├── scss/
│   └── custom.scss
└── node_modules/
│   └── bootstrap/
│       ├── js/
│       └── scss/
└── index.html

文件结构(不使用包管理器)

your-project/
├── scss/
│   └── custom.scss
├── bootstrap/
│   ├── js/
│   └── scss/
└── index.html

Import

@import "../node_modules/bootstrap/scss/bootstrap(/特定功能)";

Index.html文件结构(在使用了编译后的css文件)

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Custom Bootstrap</title>
    <link href="/css/custom.css" rel="stylesheet">
  </head>
  <body>
    <h1>Hello, world!</h1>
  </body>
</html>

变量名覆盖

实际上是对于Bootstrap内置的一些特定变量(有其确定的值)进行重新赋值,而不用去源代码中改变,这样确实更方便。

//eg
$body-bg : #000  //表示将body的背景色重新赋值为#000

Sass Map

实际上是对一些操作进行封装...

简单的封装实例:

$theme-colors: (
  "primary": $primary,
  "danger": $danger
);//这是一个关于主题颜色的封装

Map的合并(Merge):map-merge函数

Map的删除(Remove)map-remove函数

$theme-colors: map-remove($theme-colors, "info", "light", "dark");

Sass Function

官方文档的这种选择性着色是一个很好的例子,除此之外想不到什么用函数的理由。

@function shift-color($color, $weight) {
  @return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
}//函数

.custom-element-3 {
  color: shift-color($success, 40%);
  background-color: shift-color($success, -60%);
}//使用

对比度设置

这里在官方文档中藏了一个对比度设置

转义 SVG

使用函数转义 SVG 背景图像和字符。

使用该函数时,必须引用数据 URI。

escape-svg<>#escape-svg

加减函数

使用substract可以避免一些减零错误

$border-radius: .25rem;
$border-width: 0;

.element {
  // Output calc(.25rem - 0) is invalid
  border-radius: calc($border-radius - $border-width);
}

.element {
  // Output .25rem
  border-radius: subtract($border-radius, $border-width);
}

简单的CSS全局设置选项

选项 ·引导 v5.3

摘录一些看着会常用的

$enable-dark-mode

true(默认)或false

在项目及其组件中启用内置的深色模式支持。

颜色

颜色 ·引导 v5.3

常用的颜色变量的关键词

正文:body

浅文本:secondary

更浅的文本:tertiary

强调:emphasis

边框:border

颜色后加-xxx可以修改对比度

颜色主题(添加到父级,这样无论全局颜色是什么都会强制显示父级包含的颜色主题)

data-bs-theme

Sass构建颜色主题

感觉不是很重要暂时。