目录javascript
Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。css
它是为实现快速开发Web应用程序而设计的一套前端工具包。html
它支持响应式布局,而且在V3版本以后坚持移动设备优先。
优势:各类命名都统一而且规范化。 页面风格统一,画面和谐。前端
下载bootstrap:https://www.bootcss.com/html5
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3个meta标签*必须*放在最前面,任何其余内容都*必须*跟随其后! --> <title>Bootstrap 101 Template</title> <!-- Bootstrap --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet"> <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> <!-- 警告:经过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起做用 --> <!--[if lt IE 9]> <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script> <![endif]--> </head> <body> <h1>你好,世界!</h1> <!-- jQuery (Bootstrap 的全部 JavaScript 插件都依赖 jQuery,因此必须放在前边) --> <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script> <!-- 加载 Bootstrap 的全部 JavaScript 插件。你也能够根据须要只加载单个插件。 --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script> </body> </html>
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增长,系统会自动分为最多12列。java
原理:jquery
.container
(固定宽度)或 .container-fluid
(100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。.row
和 .col-xs-4
这种预约义的类,能够用来快速建立栅格布局。Bootstrap 源码中定义的 mixin 也能够用来建立语义化的布局。padding
属性,从而建立列与列之间的间隔(gutter)。经过为 .row
元素设置负值 margin
从而抵消掉为 .container
元素设置的 padding
,也就间接为“行(row)”所包含的“列(column)”抵消掉了padding
。.col-xs-4
来建立。.col-md-*
栅格类适用于与屏幕宽度大于或等于分界点大小的设备 , 而且针对小屏幕设备覆盖栅格类。 所以,在元素上应用任何 .col-lg-*
不存在, 也影响大屏幕设备。手机(<768px) | 平板(≥768px) | 电脑(≥992px) | 大屏膜(≥1200px) | |
---|---|---|---|---|
栅格系统行为 | 老是水平排列 | 大于阈值时--> | 将换行,水平--> | 排列 |
container 最大宽度 | 自动 | 750px | 970px | 1170px |
类前缀 | .col-xs- | .col-sm- | .col-md- | .col-lg- |
列数 | 12 | 12 | 12 | 12 |
最大列宽 | 自动 | ~62px | ~81px | ~97px |
<div class="col-md-6"></div> // 表示这个标签的内容占4栅格 <div class="col-md-offset-3"></div> // 表示这个标签距离左边3个栅格
将最外面的布局元素 .container
修改成 .container-fluid
,就能够将固定宽度的栅格布局转换为 100% 宽度的布局。npm
<div class="container"> <div class="container-fluid"> <div class="row"> ... </div> </div>
使用 .col-md-offset-*
类能够将列向右侧偏移。这些类实际是经过使用 *
选择器为当前元素增长了左侧的边距(margin)。例如,.col-md-offset-4
类将 .col-md-4
元素向右侧偏移了4个列(column)的宽度。bootstrap
//居中 col-md-offset-x <div class="container-fluid"> <!-- <h1>xxxx</h1>--> <div class="row"> <div class="col-md-6 col-md-offset-3 c1"> </div> </div>
为了使用内置的栅格系统将内容再次嵌套,能够经过添加一个新的 .row
元素和一系列 .col-sm-*
元素到已经存在的 .col-sm-*
元素内。被嵌套的行(row)所包含的列(column)的个数不能超过12(其实,没有要求你必须占满12列)。api
<div class="container-fluid"> <!-- <h1>xxxx</h1>--> <div class="row"> <div class="col-md-6 col-md-offset-3 c1"> // 列中又分栅格 <div class="row"> <div class="col-sm-6 c1"></div> <div class="col-sm-6 c2"></div> </div> </div> </div> </div>
<h1>一级标题36px</h1> <h2>二级标题30px</h2> <h3>三级标题24px</h3> <h4>四级标题18px</h4> <h5>五级标题14px</h5> <h6>六级标题12px</h6> <!--除了使用h标签,Bootstrap内置了相应的全局样式--> <!--内联标签应用标题样式--> <span class="h1">一级标题36px</span> <span class="h2">二级标题30px</span> <span class="h3">三级标题24px</span> <span class="h4">四级标题18px</span> <span class="h5">五级标题14px</span> <span class="h6">六级标题12px</span>
<!--一级标题中嵌入小标题--> <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>
<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>
经过使用一个象征关闭的图标,可让模态框和警告框消失。
<button type="button" class="close" aria-label="Close"><span aria-hidden="true">×</span></button>
经过使用三角符号能够指示某个元素具备下拉菜单的功能。注意,向上弹出式菜单中的三角符号是反方向的。
<div class="pull-left">...</div> <div class="pull-right">...</div>
经过为父元素添加 .clearfix
类能够很容易地清除浮动(float
)。
<!-- Usage as a class --> <div class="clearfix">...</div>
<div class="show">...</div> <div class="hidden">...</div>
Class | 描述 |
---|---|
.table-striped | 条纹状表格 |
.table-bordered | 带边框的表格 |
.table-hover | 鼠标悬停变色的表格 |
.table-condensed | 紧缩型表格 |
.table-responsive | 响应式表格 |
Class | 描述 |
---|---|
.active |
鼠标悬停在行或单元格上时所设置的颜色 |
.success |
标识成功或积极的动做 |
.info |
标识普通的提示信息或动做 |
.warning |
标识警告或须要用户注意 |
.danger |
标识危险或潜在的带来负面影响的动做 |
<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>
可做为按钮使用的标签或元素
为 <a>
、<button>
或 <input>
元素添加按钮类(button class)便可使用 Bootstrap 提供的样式。
<a class="btn btn-default" href="#" role="button">Link</a> <button class="btn btn-default" type="submit">Button</button> <input class="btn btn-default" type="button" value="Input"> <input class="btn btn-default" type="submit" value="Submit">
btn btn-default :默认按钮背景的颜色,有primary、success...
<button type="button" class="btn btn-default">(默认样式)Default</button> <button type="button" class="btn btn-primary">(首选项)Primary</button> <button type="button" class="btn btn-success">(成功)Success</button> <button type="button" class="btn btn-info">(通常信息)Info</button> <button type="button" class="btn btn-warning">(警告)Warning</button> <button type="button" class="btn btn-danger">(危险)Danger</button> <button type="button" class="btn btn-link">(连接)Link</button>
<p> <button type="button" class="btn btn-primary btn-lg">(大按钮)Large button</button> <button type="button" class="btn btn-default btn-lg">(大按钮)Large button</button> </p> <p> <button type="button" class="btn btn-primary">(默认尺寸)Default button</button> <button type="button" class="btn btn-default">(默认尺寸)Default button</button> </p> <p> <button type="button" class="btn btn-primary btn-sm">(小按钮)Small button</button> <button type="button" class="btn btn-default btn-sm">(小按钮)Small button</button> </p> <p> <button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small button</button> <button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small button</button> </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">
须要导入jQuery,以及引入js文件
<script src="../../bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
随着移动设备的流行,网页设计必需要考虑到移动端的设计。同一个网站为了兼容PC端和移动端显示,就须要进行响应式开发。
利用媒体查询,让同一个网站兼容不一样的终端(PC端、移动端)呈现不一样的页面布局。
CSS3@media查询
用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。
常见属性:
1.device-width, device-height 屏幕宽、高
2.width,height 渲染窗口宽、高
3.orientation 设备方向
4.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″>
模态框的HTML代码放置的位置
务必将模态框的HTML代码放在文档的最高层级内(也就是说,尽可能做为 body 标签的直接子元素),以免其余组件影响模态框的展示和/或功能。
静态实例:
<!-- 触发模态框的按钮 --> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> Launch demo modal </button> <!-- 模态框 --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div>
注意:
.bs-example-modal-lg
和 .bs-example-modal-sm
来控制模态框的大小。.fade
类来控制模态框弹出时的动画效果(淡入淡出效果)。.modal-body
div中设置 .row
可使用Bootstrap的栅格系统。动态实例:
点击下面的按钮便可经过 JavaScript 启动一个模态框。此模态框将从上到下、逐渐浮现到页面前。
<!-- Button trigger modal --> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> Launch demo modal </button> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div>
实例:
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner" role="listbox"> <div class="item active"> <img src="..." alt="..."> <div class="carousel-caption"> ... </div> </div> <div class="item"> <img src="..." alt="..."> <div class="carousel-caption"> ... </div> </div> ... </div> <!-- Controls --> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div>
能够在为图片添加介绍信息:
<div class="item"> <img src="..." alt="..."> <div class="carousel-caption"> <h3>...</h3> <p>...</p> </div> </div>
方法:
设置切换间隔为2秒,默认是5秒。
在jQuery中加:
$('.carousel').carousel({ interval: 2000 })