Bootstrap学习笔记——网格系统
来源:互联网 发布:网络歌手兼职 编辑:程序博客网 时间:2024/06/05 23:59
1 实现原理
Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统(Grid System),可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。让网站易于浏览,并降低用户端的负载。
Bootstrap 3 是移动设备优先的,在这个意义上,Bootstrap 代码从小屏幕设备(比如移动设备、平板电脑)开始,然后扩展到大屏幕设备(比如笔记本电脑、台式电脑)上的组件和网格。
网格系统通过一系列包含内容的行和列来创建页面布局。下面列出了 Bootstrap 网格系统是如何工作的:
- 行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。
- 使用行来创建列的水平组。
- 内容应该放置在列内,且唯有列可以是行的直接子元素。
- 预定义的网格类,比如 .row 和 .col-xs-4,可用于快速创建网格布局。- - LESS 混合类可用于更多语义布局。
- 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 - .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。
- 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4。
详细分析略
参考
http://www.imooc.com/code/2325
http://www.tuicool.com/articles/Afuu2q/
http://www.runoob.com/bootstrap/bootstrap-grid-system.html
2 用法
下表总结了 Bootstrap 网格系统如何跨多个设备工作:
2.1 基本用法(列组合)
列组合简单理解就是更改数字来合并列(原则:列总和数不能超12),有点类似于表格的colspan属性,例如:
<!DOCTYPE HTML><html><head><meta charset="utf-8"><title>基本用法</title><link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"><link rel="stylesheet" href="style.css"></head><body><div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-8">.col-md-8</div> </div> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> </div> <div class="row"> <div class="col-md-3">.col-md-3</div> <div class="col-md-6">.col-md-6</div> <div class="col-md-3">.col-md-3</div> </div></div></body>
备注:
实例中用的是类”col-md-”,但是在调试窗口上显示不出来效果,全部以行展示,改成类”col-sm-”时全屏时能够显示出效果,而小屏的时候还是看不出来效果,最后改成类”col-xs-*”可以直接显示出效果。
如果直接将代码粘贴到本地,就完全可以显示,不过没有灰色背地及黑色边框。
针对调试窗口问题的解决方案是缩放浏览器,再点击全屏,就出现效果了
——网站上的调试窗口与本地浏览有差异
2.2 列偏移
在某列元素上添加类名“col-md-offset-*”该列就会向右偏移。如“col-md-offset-4”,表示该列向右移动4个列的宽度。
<div class="container"><div class="row"><div class="col-md-4">.col-md-4</div><div class="col-md-2 col-md-offset-4">列向右移动四列的间距</div><div class="col-md-2">.col-md-3</div></div><div class="row"><div class="col-md-4">.col-md-4</div><div class="col-md-4 col-md-offset-4">列向右移动四列的间距</div></div></div>
注意:使用”col-md-offset-*”对列进行向右偏移时,要保证列与偏移列的总数不超过12,不然会致列断行显示,如:
<div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-2 col-md-offset-4">列向右移动四列的间距</div> <div class="col-md-2">.col-md-3</div> </div> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4 col-md-offset-4">列向右移动四列的间距</div> </div> <div class="row"> <div class="col-md-3">.col-md-3</div> <div class="col-md-3 col-md-offset-3">col-md-offset-3</div> <div class="col-md-4">col-md-4</div> </div></div>
上面代码中列和偏移列总数为3+3+3+4 = 13>12,所以发生了列断行。
2.3 行排序
列排序其实就是改变列的左右控件位置,就是改变左右浮动,并且设置浮动的距离。在Bootstrap框架的网格系统中是通过添加类名“col-md-push-*”
和“col-md-pull-*”
(其中星号代表移动的列组合数)。
<div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-8">.col-md-8</div> </div></div>
<div class="container"> <div class="row"> <div class="col-md-4 col-md-push-8">.col-md-4</div> <div class="col-md-8 col-md-pull-4">.col-md-8</div> </div></div>
改变两列的控件位置
想想着一个人站在左边,推过去push,拉过来pull
2.4 列的嵌套
Bootstrap框架的网格系统还支持列的嵌套。你可以在一个列中添加一个或者多个行(row)容器,然后在这个行容器中插入列(像前面介绍的一样使用列)。但在列容器中的行容器(row),宽度为100%时,就是当前外部列的宽度。来看一个简单示例:
<body><div class="container"> <div class="row"> <div class="col-md-8"> 我的里面嵌套了一个网格 <div class="row"> <div class="col-md-6">col-md-6</div> <div class="col-md-6">col-md-6</div> </div> </div> <div class="col-md-4">col-md-4</div> </div> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-8"> 我的里面嵌套了一个网格 <div class="row"> <div class="col-md-4">col-md-4</div> <div class="col-md-4">col-md-4</div> <div class="col-md-4">col-md-4</div> </div> </div> </div></div></body>
- Bootstrap学习笔记——网格系统
- Bootstrap学习笔记—关于网格系统
- Bootstrap-网格系统学习笔记
- bootstrap笔记 —— @media 与 Bootstrap 网格系统
- Bootstrap学习笔记(三) 网格系统
- Bootstrap学习笔记(四)网格系统
- Bootstrap学习:网格系统
- Bootstrap学习-网格系统
- Bootstrap学习-网格系统
- Bootstrap——网格系统
- Bootstrap的一些笔记——网格系统
- 学习——Bootstrap网格(栅格)系统
- Bootstrap快速学习笔记(3)网格系统
- bootstrap 基础知识学习(图片+网格系统)
- Bootstrap 学习之 (一) ------ 网格系统
- bootstrap学习笔记(增加网格应用)
- Bootstrap-网格布局系统
- Bootstrap 网格系统
- dede内容页调用当前栏目的链接
- IT糖19期
- python基础学习笔记(四)
- C++ MFC / VS2013 之八 (对话框:设置对话框控件的Tab顺序)
- 排序算法
- Bootstrap学习笔记——网格系统
- Spring Boot初体验
- C++11新特性
- 宏定义
- Python中的Numpy入门教程
- dede内容页调用缩略图 缩略图多种用法
- LeetCode-88-Merge Sorted Array
- 二叉树前序中序后序遍历的非递归形式
- python虚拟环境