14. bootstrap

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 标识危险或潜在的带来负面影响的动作

表单

内联表单
表单状态
带图标的表单

按钮

class="btn btn-default" href="#" role="button">Link

class="btn btn-default" type="button" value="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>

图片

Responsive image

图片形状

<img src="..." alt="..." class="img-rounded">
<img src="..." alt="..." class="img-circle">
<img src="..." alt="..." class="img-thumbnail">

辅助类

文本颜色

p class="text-muted">...

"text-primary">...

"text-success">...

"text-info">...

"text-warning">...

"text-danger">...

背景颜色

"bg-primary">...

"bg-success">...

"bg-info">...

"bg-warning">...

"bg-danger">...

关闭按钮

下拉三角

快速浮动

"pull-left">...
"pull-right">...

内容块居中

...

清除浮动


<div class="clearfix">...div>

显示与隐藏

"show">...
"hidden">...

常用Bootstrap组件

字体图标
下拉菜单
按钮组
输入框俎
导航
分页
标签和徽章
页头
缩率图
进度条

模拟滚动的进度条

响应式开发

为什么要进行响应式开发?

随着移动设备的流行,网页设计必须要考虑到移动端的设计。同一个网站为了兼容PC端和移动端显示,就需要进行响应式开发。

什么是响应式?

利用媒体查询,让同一个网站兼容不同的终端(PC端、移动端)呈现不同的页面布局。

用到的技术:

CSS3@media查询

用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。

常见属性:

device-width, device-height 屏幕宽、高
width,height 渲染窗口宽、高
orientation 设备方向
resolution 设备分辨率

语法:

@media mediatype and|not|only (media feature) {
    CSS-Code;
}

不同的媒体使用不同的stylesheet

viewport

手机浏览器是把页面放在一个虚拟的”窗口”(viewport)中,通常这个虚拟的”窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。

设置viewport

一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:


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自带插件: http://www.cnblogs.com/liwenzhou/articles/8243227.html
其他常用插件: http://www.cnblogs.com/liwenzhou/articles/8243279.html

Bootstrap实例精选:

封面图
Carousel
博客页面
控制台
登录页
Offcanvas

课后习题:

后台管理页面(修改Dashbord)
常用组件练习

你可能感兴趣的:(bootstrap)