简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。
回答了两个问题:
最早是twitter的两名工程师开发并开源的……
Bootstrap2:立足于PC端,兼顾移动端,纯桌面项目可能仍然在使用
Bootstrap3:立足于移动端,兼顾PC端,sample.17bang使用
Bootstrap4:教学使用,和Bootstrap3相比
Bootstrap5:最新版本,等子弹再飞一会
本质上,前端的CSS(以及Javascript)框架/类库,最终都是.css和.js文件,和我们自己创建的这些文件,没有本质区别。我们只需要直接在HTML页面中(通过CDN地址)引入即可使用。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"…… <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"……
演示:查看/使用bootstrap.min.css中定义的元素和类选择器
<button class="btn btn-block btn-danger">源栈</button> <hr />
注意:
CDN引入可以直接用于生产环境,但为了演示/教学,我们也可以将其先下载到本地:
CSS文档上说,可以分别下载:
啥意思呢?
bootstrap在(框架)开发过程中,使用了sass技术,一种“专业级CSS扩展语言”,可以:
.alert { padding: $alert-padding-y $alert-padding-x;
利用Sass,可以在CSS开发中设置/使用变量、进行运算等。
@想一想@:为什么要这样做呢?
比如我们要在很多地方、为很多元素设置同一个margin-top值20px,现目前我们的办法只能是:
所以,我们定义一个变量,比如$max-margin-top,给它一个值,比如:$max-margin-top: 20px。然后所有需要进行css设置的地方都适用这个变量:
那么,在开发中我不需要记这里究竟是20px还是15px,以后维护/修改的时候,要把20px改成15px,也只需要修改$max-margin-top: 15px即可。
此外,使用变量,还可以进行加减乘除等运算,比如:margin-bottom: $max-margin-top+5px……
但浏览器不能识别Sass,所以用Sass开发完成之后,还需要将其“转换”(Sass将其称之为“编译”)成css语法格式的代码。
为了减少下载时的流量消耗,可以把.css(以及.js)文件中的:
得到一个对应的.min文件
但我们在F12调试的时候,哪怕只是简单的引入了.min文件,却仍然能够看到未编译未压缩的源代码(演示)
这是为什么呢?因为.map(映射)文件记录了:
我们可以把下载下来的文件直接复制粘贴到项目中,也可以根据不同的IDE使用“逼格”更高一点的操作:
使用npm安装,Ctrl+Shift+·打开Terminal
npm install bootstrap@4.6.1
@4.6.1指定版本号,默认为最新版本。
会将bootstrap所有文件(含源代码)存放在/node_module/bootstrap下(演示)
在创建ASP.NET项目时,默认自带了bootstrap,其位于:
bootstrap-grid.css:用于bootstrap栅格系统布局的css部分内容
将页面划分为:
注意:container和row联合使用,才能让row占满整个container(演示:container和row的margin/padding设置)
<div class="container"> <div class="row">
列可以:
<div class="col-2">col-2</div> <div class="col-4">col-4</div> <div class="col-6">col-6</div>
<div class="offset-4">col-6</div>
还可以在row中指定其中每一列的宽度:
<div class="row row-cols-3">每一列占row宽度的1/3。
v4开始,广泛的使用了flex布局。
演示:.row中display: flex;
所以要注意:
<div class="row"> <div> <div class="col-2">col-2</div> <div class="col-6">col-6</div> </div> </div>
PS:v3使用的是float
首先,col-*-[1,9]中*可以使用:sm,md,lg和xl(响应式变量/动,Responsive variations),指定当屏幕宽度大于某px时适用的范围,详见文档:
|
Extra small <576px |
Small ≥576px |
Medium ≥768px |
Large ≥992px |
Extra large ≥1200px |
---|---|---|---|---|---|
Max container width | None (auto) | 540px | 720px | 960px | 1140px |
Class prefix | .col- | .col-sm- | .col-md- | .col-lg- | .col-xl- |
# of columns | 12 | ||||
Gutter width | 30px (15px on each side of a column) |
然后,多种类样式可以混用:
<div class="row"> <div class="col-sm-4 col-lg-2 offset-lg-2">col-2</div> <div class="col-sm-8 col-lg-6 ">col-6</div> </div>
最后,除了col-*,v4开始,sm/md/lg/xl也可以使用:container-*和row-col-*上了。
F12演示:bootstrap中的@media使用……
不仅仅是格栅,其他地方也有用到
bootstrap-reboot.css:为bootstrap的开发提供一个“基本盘”,类似于“清场”作用的代码。
但是,bootstrap.css已经合并了reboot和之前的grid,我们通常只需要直接引用bootstrap.css即可:
<link rel="stylesheet" href="/node_modules/bootstrap/dist/css/bootstrap.css" >
学习和体会:
列表(list)也放在了这一章节。
自学学会:
text-overflow: ellipsis;
响应式
thumbnail:加圆角边框和padding
包裹HTML元素picture和figure
其他参考工具类的:边框(圆角/圆)和 对齐#学习体会#:
<table class="table table-hover">
仍然要注意:HTML元素固定的嵌套结构
v4引入了响应式,决定何时生成滚动条。按文档讲解,作用是:当你想使用某种样式的时候,优先考虑bootstrap里内置的类。
文档有
<span class="border border-top-0">border-top-0</span>
<span class="border-top border-bottom">border-right-0</span>
尺寸是相对父元素:
后面数字代表百分比
间隔包括内外边距:
演示:了解文档中的bd-highlight
区分:flex中item的对齐,和inline/table中文本的对齐
清除浮动clearfix:复习伪元素
display:响应式的显示和隐藏
对比:invisible
多快好省!前端后端,线上线下,名师精讲
更多了解 加: