Bootstrap介绍
Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。
它是为实现快速开发Web应用程序而设计的一套前端工具包。
它支持响应式布局,并且在V3版本之后坚持移动设备优先。
为什么要使用Bootstrap?
在Bootstrap出现之前:
命名:重复、复杂、无意义(想个名字费劲)
样式:重复、冗余、不规范、不和谐
页面:错乱、不规范、不和谐
在使用Bootstrap之后: 各种命名都统一并且规范化。 页面风格统一,画面和谐。
Bootstrap下载
官方地址:https://getbootstrap.com
中文地址:http://www.bootcss.com/
我们使用V3版本的Bootstrap,我们下载的是用于生产环境的Bootstrap。
Bootstrap环境搭建
目录结构:
bootstrap-3.3.7-dist/ ├── css // CSS文件 │ ├── bootstrap-theme.css // Bootstrap主题样式文件 │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css // 主题相关样式压缩文件 │ ├── bootstrap-theme.min.css.map │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css // 核心CSS样式压缩文件 │ └── bootstrap.min.css.map ├── fonts // 字体文件 │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 └── js // JS文件 ├── bootstrap.js ├── bootstrap.min.js // 核心JS压缩文件 └── npm.js
处理依赖
由于Bootstrap的某些组件依赖于jQuery,所以请确保下载对应版本的jQuery文件,来保证Bootstrap相关组件运行正常。
Bootstrap全局样式
排版、按钮、表格、表单、图片等我们常用的HTML元素,Bootstrap中都提供了全局样式。
我们只要在基本的HTML元素上通过设置class就能够应用上Bootstrap的样式,从而使我们的页面更美观和谐。
标题相关
标题
<h1>一级标题36pxh1> <h2>二级标题30pxh2> <h3>三级标题24pxh3> <h4>四级标题18pxh4> <h5>五级标题14pxh5> <h6>六级标题12pxh6> <span class="h1">一级标题36pxspan> <span class="h2">二级标题30pxspan> <span class="h3">三级标题24pxspan> <span class="h4">四级标题18pxspan> <span class="h5">五级标题14pxspan> <span class="h6">六级标题12pxspan>
副标题
<h1>一级标题<small>小标题small>h1>
文本对齐
<p class="text-left">文本左对齐p> <p class="text-center">文本居中p> <p class="text-right">文本右对齐p>
文本大小写
<p class="text-lowercase">Lowercased text.p> <p class="text-uppercase">Uppercased text.p> <p class="text-capitalize">Capitalized text.p>
表格
Class | 描述 |
.table-striped | 条纹状表格 |
.table-bordered | 带边框的表格 |
.table-hover | 鼠标悬停变色的表格 |
.table-condensed | 紧缩型表格 |
.table-responsive | 响应式表格 |
状态类
Class | 描述 |
---|---|
.active |
鼠标悬停在行或单元格上时所设置的颜色 |
.success |
标识成功或积极的动作 |
.info |
标识普通的提示信息或动作 |
.warning |
标识警告或需要用户注意 |
.danger |
标识危险或潜在的带来负面影响的动作 |
表单
内联表单
表单状态
带图标的表单
按钮
<a class="btn btn-default" href="#" role="button">Linka> <button class="btn btn-default" type="submit">Buttonbutton> <input class="btn btn-default" type="button" value="Input"> <input class="btn btn-default" type="submit" value="Submit">
按钮样式
<button type="button" class="btn btn-default">(默认样式)Defaultbutton> <button type="button" class="btn btn-primary">(首选项)Primarybutton> <button type="button" class="btn btn-success">(成功)Successbutton> <button type="button" class="btn btn-info">(一般信息)Infobutton> <button type="button" class="btn btn-warning">(警告)Warningbutton> <button type="button" class="btn btn-danger">(危险)Dangerbutton> <button type="button" class="btn btn-link">(链接)Linkbutton>
按钮大小
<p> <button type="button" class="btn btn-primary btn-lg">(大按钮)Large buttonbutton> <button type="button" class="btn btn-default btn-lg">(大按钮)Large buttonbutton> p> <p> <button type="button" class="btn btn-primary">(默认尺寸)Default buttonbutton> <button type="button" class="btn btn-default">(默认尺寸)Default buttonbutton> p> <p> <button type="button" class="btn btn-primary btn-sm">(小按钮)Small buttonbutton> <button type="button" class="btn btn-default btn-sm">(小按钮)Small buttonbutton> p> <p> <button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small buttonbutton> <button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small buttonbutton> p>
图片
<img src="..." class="img-responsive" alt="Responsive image">
图片形状
<img src="..." alt="..." class="img-rounded"> <img src="..." alt="..." class="img-circle"> <img src="..." alt="..." class="img-thumbnail">
辅助类
文本颜色
<p class="text-muted">...p> <p class="text-primary">...p> <p class="text-success">...p> <p class="text-info">...p> <p class="text-warning">...p> <p class="text-danger">...p>
背景颜色
<p class="bg-primary">...p> <p class="bg-success">...p> <p class="bg-info">...p> <p class="bg-warning">...p> <p class="bg-danger">...p>
关闭按钮
<button type="button" class="close" aria-label="Close"><span aria-hidden="true">×span>button>
下拉三角
<span class="caret">span>
快速浮动
<div class="pull-left">...div> <div class="pull-right">...div>
内容块居中
<div class="center-block">...div>
清除浮动
<div class="clearfix">...div>
显示与隐藏
<div class="show">...div> <div class="hidden">...div>
常用Bootstrap组件
- 字体图标
- 下拉菜单
- 按钮组
- 输入框俎
- 导航
- 分页
- 标签和徽章
- 页头
- 缩率图
- 进度条
模拟滚动的进度条:
var $d1 = $("#d1"); var width = 0; var theID = setInterval(setValue, 200); function setValue() { if (width === 100) { clearInterval(theID); } else { width++; $d1.css("width", width+"%").text(width+"%"); } }
响应式开发
为什么要进行响应式开发?
随着移动设备的流行,网页设计必须要考虑到移动端的设计。同一个网站为了兼容PC端和移动端显示,就需要进行响应式开发。
什么是响应式?
利用媒体查询,让同一个网站兼容不同的终端(PC端、移动端)呈现不同的页面布局。
用到的技术:
CSS3@media查询
用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。
常见属性:
- device-width, device-height 屏幕宽、高
- width,height 渲染窗口宽、高
- orientation 设备方向
- resolution 设备分辨率
语法:
@media mediatype and|not|only (media feature) { CSS-Code; }
不同的媒体使用不同的stylesheet
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
viewport
手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。
设置viewport
一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
- width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
- height:和 width 相对应,指定高度。
- initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
- maximum-scale:允许用户缩放到的最大比例。
- minimum-scale:允许用户缩放到的最小比例。
- user-scalable:用户是否可以手动缩放。
Bootstrap的栅格系统
- container
- row
- column
注意事项: 使用Bootstrap的时候不要让自己的名字与Bootstrap的类名冲突。
JavaScript插件
常用的Bootstrap自带插件
其他常用插件
Bootstrap实例精选:
- 封面图
- Carousel
- 博客页面
- 控制台
- 登录页
- Offcanvas
课后习题:
- 后台管理页面(修改Dashbord)
- 常用组件练习