大家好,我是IT修真院北京分院第27期学员,一枚正直善良的前端程序员今天跟大家分享一下bootstrap的使用。
今天讲下深度思考中的知识点
————Bootstrap栅格布局的分解与应用
1.背景介绍
Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使得Web开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
2.知识剖析
2.1原理
网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统。Bootstrap框架中的网格系统就是将容器平分成12份。
在使用的时候大家可以根据实际情况重新编译LESS(或Sass)源码来修改12这个数值(也就是换成24或32,当然你也可以分成更多,但不建议这样使用)。
2.2使用规则
1行(.row)必须包含在容器(.container)中,以便为其赋予合适的对齐方式和内距(padding)。
2在行(.row)中可以添加列(.column),最多分配12。
3具体内容应当放置在列容器(column)之内,而且只有列(column)才可以作为行容器(.row)的直接子元素
4类似.row和.col-sm-4这种预定义的类,可以用来快速创建栅格布局。
5通过为“列(column)”设置padding属性,从而创建列与列之间的间隔
2.3栅格选项
当屏宽小于768px(即小屏)时,列的划分以.col-xs-后面的数字为准。如果没定义.col-xs-,就会变成单列且宽度和row相等。
当屏宽在768px和992px之间(即平板屏)时,列的划分以.col-sm-后面的数字为准。如果没有定义col-sm-,以.col-xs-为准。
当屏宽在992px和1200px之间(即中屏)时,列的划分以.col-md-后面的数字为准。如果没有定义.col-md-,以col-sm-或col-xs-为准。
当屏宽大于1200px(即大屏)时,列的划分以.col-lg-后面的数字为准。如果没有定义.col-md-,以.col-md-或col-sm-或col-xs-为准。
3.常见问题
如何使用bootstrap栅格系统?
4.解决方案
网格系统用来布局,其实就是列的组合。Bootstrap框架的网格系统中有四种基本的用法。由于Bootstrap框架在不同屏幕尺寸使用了不同的网格样式,在这一节中所涉及到的示例,我们都以中屏为例进行介绍,其他屏幕的使用也类似这一种。
1)列组合
列组合简单理解就是更改数字来合并列(原则:列总和数不能超12),有点类似于表格的colspan属性
2)列偏移
通过col-md-offset-*来实现
3)列排序
列排序其实就是改变列的方向,就是改变左右浮动,并且设置浮动的距离。在Bootstrap框架的网格系统中是通过添加类名“col-md-push-*”和“col-md-pull-*” (其中星号代表移动的列组合数)实现列的向左或向右排序
4)列嵌套
Bootstrap框架的网格系统还支持列的嵌套。你可以在一个列中添加一个或者多个行(row)容器,然后在这个行容器中插入列
5.扩展思考
Bootstrap有哪些缺点?
个人认为,所谓优点和缺点,多数根据业务需求而定。比如bootstrap 2以后的版本不支持IE6。当你的网站需要支持ie6的时候,这时是缺点。当网站不需要支持ie6.减少了兼容代码的处理,马上又变成了优点。总体而已,Bootstrap属于前端ui库,通过现成的ui组件能够迅速搭建前端页面。同时还可以用less重新设计组件。对于前端技术一般的后台工程师,省去了很多编写前端处理时的痛苦。个人使用搭个博客什么的比较方便。相对于公司,直接使用Bootstrap感觉不多,大公司都有自己的前端开发设计人员,也会设计自己的css库。当然,Bootstrap开源,对于学习如何组织css还是很有必要
6.参考文献
http://www.jb51.net/article/75386.htm
http://jackyrong.iteye.com/blog/2295094
Bootstrap每天必学之栅格系统(布局)
http://www.jb51.net/article/75386.htm
BOOTSTRAP 基本样式 栅格布局
http://how2j.cn/k/boostrap/boostrap-layerout/778.html#step3053
7.更多讨论
1.bootstrap栅格系统所定义的breakpoint为什么是480 768 992 1200?
2.bootstrap的栅格系统为什么是12列,有没有18列,24列等等啊,采用12列有什么好处?
3.bootstrap有哪些常用组件?
感谢阅读
github的PPT链接
https://ptteng.github.io/PPT/PPT/CSS-09-How%20to%20use%20the%20bootstrap%20grid%20system.html#/2
百度网盘链接
链接:https://pan.baidu.com/s/1mhQ94FY密码: tndt
------------------------------------------------------------------------------------------------------------------------------------------
人生苦短,我也不会Python。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。