Bootstrap 网格系统布局详解


Posted in Javascript onMarch 19, 2017

Bootstrap 提供了一套响应式、移动设备优先的流式网格系统(Grid System),随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

一、什么是网格(Grid)?

在平面设计中,网格是一种由一系列用于组织内容的相交的直线(垂直的、水平的)组成的结构(通常是二维的)。它广泛应用于打印设计中的设计布局和内容结构。在网页设计中,它是一种用于快速创建一致的布局和有效地使用 HTML 和 CSS 的方法。

一句话概括:网页设计中的网格用于组织内容,让网站易于浏览,并降低用户端的负载。

二、什么是Bootstrap网格系统(Grid System)?

Bootstrap 包含了一个 响应式的、移动设备优先的、不固定的网格系统 ,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

Bootstrap 网格系统布局详解 

三、网格系统工作原理

网格系统通过一系列包含内容的行和列来创建页面布局。下面列出了 Bootstrap 网格系统是如何工作的:

•行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。

•使用行row来创建列的水平组。

•内容应该放置在列内, 且唯有列可以是行的直接子元素 。

•预定义的网格类,比如 .row 和 .col-xs-4 ,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。

•列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。

•网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4。

下面是 Bootstrap 基本的网格结构:

<div class="container">
 <div class="row">
 <div class="col-*-*"></div>
 <div class="col-*-*"></div> 
 </div>
 <div class="row">...</div>
</div>
<div class="container">
...
</div>

注意:列 <div class="col-*-*"></div> 必须放在 <div class="row"> 行元素下,且行元素里边只能包含列子元素,不能跟其他的子标签元素,否则,布局样式会乱掉。

四、布局实战

代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8"> 
 <title>Bootstrap 实例 - 布局偏移列-@corwien</title>
 <link rel="stylesheet" href="https://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> 
 <script src="https://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
 <script src="https://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body style="margin:50px;background:gray;">
<div class="container" style="background:white;">
 <div class="row" >
 <div class="col-md-8 col-md-offset-1"> 
 <div style="background:pink; height:50px;">区块一 (col-md-8 col-md-offset-1)</div>
 </div>
 <div class="col-md-3">
  <div style="background:orange; height:50px;">区块二 (col-md-3)</div>
 </div>
 <div class="col-md-8 col-md-offset-1">
  <div style="background:green; height:50px;">区块三 (col-md-8 col-md-offset-1)</div>
 </div>
 <div class="col-md-4">
  <div style="background:red; height:50px;">区块四 (col-md-4)</div>
 </div>
 <div class="col-md-12">
 <div style="background:yellow; height:50px;">区块五(col-md-12)</div>
 </div>
 <div class="col-md-3">
 <div style="background:purple; height:50px;">区块六(col-md-3)</div>
 </div>
 <div class="col-md-6">
 <div style="background:beige; height:50px;">区块七(col-md-6)</div>
 </div>
 <div class="col-md-3">
 <div style="background:olive; height:50px;">区块八(col-md-3)</div>
 </div>
 </div>
</div>
</body>
</html>

Bootstrap 网格系统布局详解 

说明:灰色区域为body, 白色区域内为container容器。

注意:这里要特别注意区块一、区块二为在同一行,而区块三、和区块四在不同行,为什么呢?因为列元素为行内元素,如果一行没有够12列,则下边的区块元素会和它上边的区块列加起来小于或等于12,则会排在同一行,如果加起来大于12,则会排在下一列,如区块一和区块二两个列加起来等于12,则刚好能排在同一行,而区块三、四两个列加起来为13,超过一行最大显示列数12,自然就排在另一行了。

以上所述是小编给大家介绍的Bootstrap 网格系统布局,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JavaScript的面向对象(一)
Nov 09 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
详解JS函数重载
Dec 04 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
Jun 08 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
JavaScript中Object基础内部方法图
Feb 05 Javascript
nginx部署访问vue-cli搭建的项目的方法
Feb 12 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 Javascript
前端如何实现动画过渡效果
Feb 05 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 #Javascript
JSONP基础知识详解
Mar 19 #Javascript
jQuery中table数据的值拷贝和拆分
Mar 19 #Javascript
js实现旋转木马效果
Mar 17 #Javascript
jQuery实现验证码功能
Mar 17 #Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 #Javascript
node操作mysql数据库实例详解
Mar 17 #Javascript
You might like
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP 设计模式系列之 specification规格模式
2016/01/10 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
Python实现类的创建与使用方法示例
2017/07/25 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
化工机械应届生求职信
2013/11/04 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
校园广播稿500字
2014/02/04 职场文书
保安公司服务承诺书
2014/05/28 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
学校三八妇女节活动总结
2015/02/06 职场文书
大客户经理岗位职责
2015/04/09 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
检察院起诉意见书
2015/05/20 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
自考生自我评价
2019/06/21 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
Oracle 触发器trigger使用案例
2022/02/24 Oracle