Bootstrap 精华一页纸

Bootstrap 是基于H5利用 JS和CSS 进行布局、提供插件、动画的一个框架。使用了JQuery进行DOM控制。

1、布局部分


采用了 网格式布局(本质上是table布局,把页面按照网格进行布局)
I、把设备分为了四种 - 按找媒体查询,实现响应式布局(按照 max-width/min-width进行区分)
xs 768
sm 768 - 992
md 992 - 1200
lg 1200 -

II、把一个空间分成 12 列
col-设备-列宽度

< class="container" >
< class="row">

网格布局可以嵌套,每行一都是 12,可以小于 12 但不能大于 12

III、除了规整布局外,还可以偏移
col-xxx-offset-xx 跳过起始列
col-xxx-push-xx 向右推几列
col-xxx-pull-xx 向左推几列

IV、还提供了响应式布局的控制
visibile-xs-xxx
hide-xs-xxx
visibile-xs-block/inline/block-inline

2、组件


所有的布局组件基本都提供了如下的样式
I、四种类型的样式 success/info/warning/danger 来区分不同场景下的显示
II、提供了状态: active/disable 激活和禁止的 样式; 提供了 show和 hide
III、提供了控件大小 xxx-md/xs/lg/sm

3、基本组件 - 样式


I、文本类样式
Bootstrap 为文本提供了,类似于Word 排版功能的样式
a、各种主标题、副标题、子标题 .head .small ...
b、文本对齐 .text-left/right/center
c、自定义了一些元素标签
address 地址
abbr 带提示的文本
应用 blockquote & small cite q
复杂列表 dl/dt (增强 ul/ol)
d、提供了H5源代码的显示
code pre 元素

II、表格
.table
.table-border
.table-hover 提供悬停样式
还有一些其他背景样式 .table-stripped 紧凑表格.table-condensed 响应式布局.table-responsive

结合 .success 等四种样式,还能对表格数据实现 差异化的展示(比如通过 js,angularjs对数据进行处理、ng-class 动态添加class)

III、表单
a、在

元素中提供 .form 的 role属性 类,提供样式 (这边自定义了一个role属性,而不是样式)
b、在每一组(label + 控件) 提供 .form-group 的class类提供样式,包括间距等等
c、默认是 垂直布局,如果需要 内联/水平 在 元素 提供 .form-inline/.form-horizontal 样式
这三种布局的区别是
垂直,所有元素都是占据一行,即使是 .form-group 组内的也是
内联,所有元素都合并到 同一行
水平,指的是 .from-group 同一组内的元素是同一行

d、提供了以下表单控件
Input输入框 (text/password/dattime/number/email/url ...)
文本框 Textarea
选择框 (复选 checkbox/单选 radio)
静态控件 -- 用于一些标签后的纯文本显示 提供了一个 form-control-static 类

e、表单状态和验证
除了基本状态active/disable 外,还有 focus状态 .focus
验证??(has-error/warning/success 只是样式?)

IV、按钮
a、首先使用 .btn .btn-default 使用基本样式,比如圆角等等;然后可选各种按钮属性
b、最终的按钮属性 .active / .disabled 这些,原始的就可以标注按钮是否点击过,通过 angularJS的比如 ng-class/ ng-click 这些来达到按钮的丰富控制
c、a 链接元素也可以使用按钮样式

V、图片
图片样式比较简单就是普通图片,很难有什么特别的样式处理
a、增加了 圆角 img-rounded 原型 img-circle
b、提供类似 缩略图的样式 img-thumbnail

其他一些功能
a、提供了布局的一些控制 .pull-left .pull-right .center-block .clearfix 清除浮动
b、屏幕专用 sr-only
c、.close .caret 提供了 关闭和下来的类似按钮的样式

4、增强版组件 - 样式


增强版功能,主要是在 一些基本组件上进行功能叠加,形成一些常用的组件
I、字体图标
a、
b、还可以通过定义 颜色、大小、阴影 去改变默认图标的显示

几乎所有常见的图标都有,建议所有图标尽量使用字体图标,而不是 icon 图片,一是因为性能;二是因为字体图标可以任意控制

II、基于列表ul(ol)/li 实现的一些控件
a、基本菜单
通过 display:inline 把列表在一行显示,并且设置边框,背景,阴影等一系列效果

b、导航元素 -- 就是一个Tab控件
使用 .nav 类 + .nav-tabs


把Tab控件变成 胶囊导航
.nav-pills
使用垂直的导航菜单 .nav-stacked
两端对齐 .nav-justified

c、导航栏 -- 类似菜单效果
在导航元素的基础上增加一个 .navbar-nav 的类,就可以实现 导航栏的效果

navbar-header/navbar-brand
使用icon-bar 多个叠加可以形成特殊效果的 汉堡按钮 (把他放在按钮里面,响应点击事件)

导航里面增加 表单 -- 比如搜索框 | 按钮也可以增加进去

.navbar-btn
.navbar-text 通常使用

在导航中提供文本

导航 中加入 字体图标 + 链接

导航中的组件对齐方式 : .navbar-left/right 都是基于 float的浮动

导航中的位置:
固定位置 .navabar-fixed-top/bottom, 不管滚动条如何滚动都是 当前浏览器的顶部(这个就可以做成现在网站的 顶部导航功能,表格导航) 静态位置 .navbar-static-top 随着滚动条,导航菜单就移动到画面外

倒置导航栏 -- 主要指颜色的对比,类似于 负片

d、面包屑导航
.breadcrumb

你可能感兴趣的:(前端)