Bootstrap的来源
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。Bootstrap 提供了优雅的 HTML 和 CSS 规范。一直是 GitHub 上的热门开源项目。
Bootstrap的特点
- 移动设备优先:自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。
- 响应式设计(@media媒体布局):Bootstrap 的响应式 CSS 能够自适应于台式机、平板电脑和手机。
- 栅栏布局(col-md-3)
- 它提供了功能强大的内置组建,易于定制。
Bootstrap 上手
1. Bootstrap的下载与安装
Bootstrap中文网
Bootstrap英文网
去Bootstrap的官方网站下载最新版的Bootstrap
2.文件结构
当下载最新版的Bootstrap并进行解压缩后,将得到下列的文件目录结构
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap-theme.css
│ ├── bootstrap-theme.css.map
│ ├── bootstrap-theme.min.css
│ └── bootstrap-theme.min.css.map
├── js/
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
上面展示的就是 Bootstrap 的基本文件结构:预编译文件可以直接使用到任何 web 项目中。以及编译好的 CSS 和 JS (bootstrap.*
) 文件,还有经过压缩的 CSS 和 JS (bootstrap.min.*
) 文件。同时还包含了来自 Glyphicons 的图标字体,在附带的 Bootstrap 主题中使用到了这些图标。
3.Bootstrap的使用基础模板 --> 最简单的 Bootstrap 页面
Bootstrap 101 Template
你好,世界!
可以看到包含了 jquery.js、bootstrap.min.js 和 bootstrap.min.css 文件,用于让一个常规的 HTML 文件变为使用了 Bootstrap 的模板。
Bootstrap 网格系统
简介
Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列。
什么是网格(Grid)
在平面设计中,网格是一种由一系列用于组织内容的相交的直线(垂直的、水平的)组成的结构(通常是二维的)。它广泛应用于打印设计中的设计布局和内容结构。在网页设计中,它是一种用于快速创建一致的布局和有效地使用 HTML 和 CSS 的方法。
简单地说,网页设计中的网格用于组织内容,让网站易于浏览,并降低用户端的负载。
什么是Bootstrap网格系统(Gird Stystem)
Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。
根据上面的语句,我们可以理解为,Bootstrap 代码从小屏幕设备(比如移动设备、平板电脑)开始,然后扩展到大屏幕设备(比如笔记本电脑、台式电脑)上的组件和网格。
移动设备优先策略
-
内容
- 决定什么是最重要的
- 布局
-
优先设计更小的宽度
- 基础的 CSS 是移动设备优先,媒体查询 是针对于平板电脑、台式电脑
- 渐进增强
随着屏幕大小的增加而添加元素
响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列。
Bootstrap 网格系统(Grid System)的工作原理
网格系统通过一系列包含内容的行和列来创建页面布局。下面列出了 Bootstrap 网格系统是如何工作的:
- 行必须放置在
.container
class 内,以便获得适当的对齐(alignment)和内边距(padding) - 使用行来创建列的水平组
- 内容应该放置在列内,且唯有列可以是行的直接子元素
- 预定义的网格类,比如
.row
和.col-xs-4
,可用于快速创建网格布局。LESS 混合类可用于更多语义布局 - 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过
.rows
上的外边距(margin)取负,表示第一列和最后一列的行偏移 - 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个
.col-xs-4
网络选项
下面总结了Bootstrap网格系统如何跨多个设备工作
说明 | 超小设备手机(< 768px) | 小型设备平板电脑(≥ 768px) | 中型设备台式电脑(≥ 992px) | 大型设备台式电脑(≥ 1200px) |
---|---|---|---|---|
网格行为 | 一直是水平的 | 以折叠开始,断点以上是水平的 | 以折叠开始,断点以上是水平的 | 以折叠开始,断点以上是水平的 |
最大容器宽度 | None (auto) | 750px | 970px | 1170px |
Class 前缀 | .col-xs- | .col-sm- | .col-md- | .col-lg- |
列数量和 | 12 | 12 | 12 | 12 |
最大列宽 | Auto | 60px | 78px | 95px |
间隙宽度 | 30px(一个列的每边分别 15px) | 30px(一个列的每边分别 15px) | 30px(一个列的每边分别 15px) | 30px(一个列的每边分别 15px) |
可嵌套 | Yes | Yes | Yes | Yes |
偏移量 | Yes | Yes | Yes | Yes |
列排序 | Yes | Yes | Yes | Yes |
媒体查询的用法
@media
媒体查询的用法
媒体查询就是能够在不同的条件下使用不同的样式,使页面在不同的终端设备下达到不同的渲染效果。
媒体特性
媒体查询中的大部分接受 min/max
前缀,用来表达其逻辑关系,表示应用大于等于或小于等于某个值的情况。没有特殊说明都支持 min/max
。
- width:Length 渲染界面的宽度
- height:Length 渲染界面的高度
- color:整数,表示色彩的字节数
- color-index:整数, 色彩表中的色彩数
- device-aspct-ratio:整数/整数,宽高比例
- device-height:Length 设备屏幕的输出高度
- device-width:Length 设备屏幕的输出宽度
- grid(不支持
min/max
前缀):整数,是否基于栅格的设备 - monochrome:整数,单色帧缓冲器中每像素字节数
- resolution:分辨率(dpi/dpcm)分辨率
- scan(不支持
min/max
前缀):Progressive interlaced,Tv 媒体类型的扫描方式 - orientation(不支持
min/max
前缀):Portrait//landscape 横屏或竖屏
使用媒体查询
语法:@media 媒体类型 and (媒体特性) {你的样式}
最大宽度
max-width
是媒体特性中最常用的一个特性,其意思是指媒体类型小于或等于指定的宽度时,样式生效。如:
@media screen and (max-width:480px) {
.ads {
display:none;
}
}
上面表示的是:当屏幕小于或等于 480px 时,页面中包含类样式 .ads
的元素都将被隐藏。
最小宽度
min-width
与 max-width
相反,指的是媒体类型大于或等于指定宽度时,样式生效。
@media screen and (min-width: 900px) {
.wrapper {width: 980px;}
}
多个媒体特性的使用
媒体查询可以使用关键词 and 将多个媒体特性结合在一起。也就是说,一个媒体查询中可以包含 0 到多个表达式,表达式又可以包含 0 到多个关键字,以及一种媒体类型。
当屏幕在 600px~900px 之间时,body 的背景色渲染为 #F5F5F5 ,如下所示:
@media screen and (min-width:600px) and (max-width:900px) {
body {background-color:#F5F5F5;}
}
Bootstrap 表格
简介
Bootstrap 提供了一个清晰的创建表格的布局。下表列出了 Bootstrap 支持的一些表格元素:
标签 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|