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 相关文章推荐
js获取单选按钮的数据
Nov 27 Javascript
Js callBack 返回前一页的js方法
Nov 30 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
Feb 11 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
Feb 23 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
Jun 30 Javascript
node.js中的fs.symlinkSync方法使用说明
Dec 15 Javascript
浅析Jquery操作select
Dec 13 Javascript
vue.js删除动态绑定的radio的指定项
Jun 02 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 Javascript
从零开始搭建一个react项目开发
Feb 09 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
js实现移动端图片滑块验证功能
Sep 29 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
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
php数组和链表的区别总结
2019/09/20 PHP
Visual Studio中js调试的方法图解
2014/06/30 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
js判断密码强度的方法
2020/03/18 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python3 max()函数基础用法
2019/02/19 Python
基于python的列表list和集合set操作
2019/11/24 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
研究生求职推荐信范文
2013/11/30 职场文书
公司活动方案范文
2014/03/06 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
客户答谢会活动方案
2014/08/31 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
JavaScript中reduce()的用法
2022/05/11 Javascript