博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bootstrap 基础 03 网格系统(Grid System)
阅读量:3950 次
发布时间:2019-05-24

本文共 6985 字,大约阅读时间需要 23 分钟。

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

1 什么是网格(Grid)?

维基百科解释:

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

简单地说,网页设计中的网格用于组织内容,让网站易于浏览,并降低用户端的负载。

2 Bootstrap 网格系统的工作原理

Bootstrap 官方文档中有关网格系统的描述:

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

Bootstrap 3 是移动设备优先的,在这个意义上,Bootstrap 代码从小屏幕设备(比如移动设备、平板电脑)开始,然后扩展到大屏幕设备(比如笔记本电脑、台式电脑)上的组件和网格。

Bootstrap 4 的网格系统是响应式的,列会根据屏幕大小自动重新排列。

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

  • 行必须放置在 .container class 内(在 Bootstrap 4 中还可以放置在 .container-fluid (全屏宽度) class的容器中),以便获得适当的对齐(alignment)和内边距(padding)。
  • 使用行来创建列的水平组。
  • 内容应该放置在列内,且唯有列可以是行的直接子元素。
  • 预定义的网格类,比如 .row.col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。
  • 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。
  • 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4

Bootstrap 3 和 Bootstrap 4 最大的区别在于 Bootstrap 4 现在使用 flexbox(弹性盒子) 而不是浮动。 Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列 。

3 Bootstrap 3 网格系统

3.1 媒体查询

Bootstrap 中的媒体查询允许基于视口大小而移动、显示、隐藏内容。

/* 超小设备(手机,小于 768px) *//* Bootstrap 中默认情况下没有媒体查询 *//* 小型设备(平板电脑,768px 起) */@media(min-width: @screen-sm-min) {
... }/* 中型设备(台式电脑,992px 起) */@media(min-width: @screen-md-min) {
... }/* 大型设备(大台式电脑,1200px 起) */@media(min-width: @screen-lg-min) {
... }

有时候也会在媒体查询代码中包含 max-width,从而将 CSS 的影响限制在更小范围的屏幕大小之内。

@media(min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
... }

对于所有带有 min-width: @screen-sm-min 的设备,如果屏幕的宽度小于 @screen-sm-max,则会进行一些处理。

超小设备手机(<768px) 小型设备平板电脑(≥768px) 中型设备台式电脑(≥992px) 大型设备台式电脑(≥1200px)
最大容器宽度 None (auto) 750px 970px 1170px
Class 前缀 .col-xs- .col-sm- .col-md- .col-lg-
列数量和 12 12 12 12
最大列宽 Auto 60px 78px 95px
间隙宽度 30px (一个列的每边分别 15px) 30px (一个列的每边分别 15px) 30px (一个列的每边分别 15px) 30px (一个列的每边分别 15px)

3.2 基本的网格结构

...
...
...
......

Bootstrap 4 网格系统

有 5 个类

1、col- 针对所有设备
2、col-sm- 平板 - 屏幕宽度等于或大于 576px
3、col-md- 桌面显示器 - 屏幕宽度等于或大于 768px
4、col-lg- 大桌面显示器 - 屏幕宽度等于或大于 992px
5、col-xl- 超大桌面显示器 - 屏幕宽度等于或大于 1200px

超小设备 <576px 平板≥576px 桌面显示器 ≥768px 大桌面显示器 ≥992px 超大桌面显示器 ≥1200px
容器最大宽度 None (auto) 540px 720px 960px 1140px
类前缀 .col- .col-sm- .col-md- .col-lg- .col-xl-
超小 <576px 平板≥576px 桌面 ≥768px 大桌面 ≥992px 超大桌面 ≥1200px
列数量和 12
间隙宽度 30px (一个列的每边分别 15px)
可嵌套 Yes
列排序 Yes

Bootstrap 网格系统实例

实例:(水平堆叠)包含两个列,每个列包含两个段落

  
Insert title here
Hello,world.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
实例:(水平堆叠)包含两个列,每个列包含两个段落
在这里插入图片描述
当缩小屏幕之后的响应结果
在这里插入图片描述

实例:设置适应中型和大型设备

Insert title here
Hello,world.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
大型设备的布局
在这里插入图片描述
中型设备的布局
在这里插入图片描述
小型设备的布局
在这里插入图片描述
....
....

实例:设置适应手机、平板电脑、台式电脑

Insert title here
Hello,world.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
蓝色方框适应的就是大型设备
在这里插入图片描述

列偏移

偏移是一个用于更专业的布局的有用功能。它们可用来给列腾出更多的空间。为了在大屏幕显示器上偏移列,使用 .col-md-offset-* 类。这些类会把一个列的左外边距(margin)增加 * 列,其中 * 范围是从 111

  
col-md-3
col-md-9
col-md-3 offset-md-5 实现居中
col-md-3 offset-md-2 查过12行,而被挤在了下一行
Bootstrap4实现偏移列
在这里插入图片描述
  
col-md-3
col-md-9
col-md-3 offset-md-5 实现居中
col-md-3 offset-md-2 查过12行,而被挤在了下一行

Bootstrap3实现偏移列

列排序

Bootstrap 网格系统另一个完美的特性,就是可以以一种顺序编写列,然后以另一种顺序显示列,可以使用 .col-md-push-*.col-md-pull-* 类来互换列的顺序。

  

列排序前

col-md-3
col-md-9

列排序后

col-md-3 col-md-push-9
col-md-9 col-md-pull-3
通过 col-md-push-9 和 col-md-pull-3 互换列的顺序
在这里插入图片描述

Reference

转载地址:http://lrhwi.baihongyu.com/

你可能感兴趣的文章
Monitoring the Battery Level and Charging State 监测电池电量和充电状态
查看>>
Determining and Monitoring the Docking State and Type 判断并监测设备的停驻状态与类型
查看>>
Determining and Monitoring the Connectivity Status 根据网络连接状况去省电
查看>>
Manipulating Broadcast Receivers On Demand 按需操控广播接收
查看>>
Creating a View Class 创建一个视图类
查看>>
Custom Drawing 自定义绘制
查看>>
Making the View Interactive 视图互动
查看>>
Optimizing the View 优化视图
查看>>
Setting Up the Search Interface 设置搜索界面
查看>>
Storing and Searching for Data 数据存储和搜索
查看>>
Remaining Backward Compatible 保持向后兼容
查看>>
Remembering Your User 记住你的用户
查看>>
Authenticating to OAuth2 Services 验证OAuth2服务
查看>>
Creating a Custom Account Type 创建自定义帐户类型
查看>>
Sending Content to Other Apps 将内容发送到其他应用程序
查看>>
Receiving Content from Other Apps 接收来自其他应用程序的内容
查看>>
Adding an Easy Share Action 添加一个简单的共享行动
查看>>
Taking Photos Simply 简单地拍摄照片
查看>>
Recording Videos Simply 简单录制视频
查看>>
Controlling the Camera 控制相机
查看>>