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 相关文章推荐
广泛收集的jQuery拖放插件集合
Apr 09 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 Javascript
jQuery UI库中dialog对话框功能使用全解析
Apr 23 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
vue实现可增删查改的成绩单
Oct 27 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
如何使用less实现随机下雪动画详解
Jan 02 Javascript
详解JavaScript的计时器和按钮效果设置
Feb 18 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
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
JS 页面计时器示例代码
2013/10/28 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python基础知识小结之集合
2015/11/25 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
销售冠军获奖感言
2014/02/03 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
怎样填写就业意向
2014/04/02 职场文书
法定代表人身份证明书
2014/09/10 职场文书
中国世界遗产导游词
2015/02/13 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers