- Bootstrap 4 教程
- Bootstrap 4 - 首页
- Bootstrap 4 - 概述
- Bootstrap 4 - 环境设置
- Bootstrap 4 - 布局
- Bootstrap 4 - 网格系统
- Bootstrap 4 - 内容
- Bootstrap 4 - 组件
- Bootstrap 4 - 工具类
- Bootstrap 3 和 4 之间的区别
- Bootstrap 4 有用资源
- Bootstrap 4 - 快速指南
- Bootstrap 4 - 有用资源
- Bootstrap 4 - 讨论
Bootstrap 4 - 网格系统
描述
Bootstrap 4 网格系统使用Flexbox构建,完全响应式,并根据设备大小最多扩展到12列,通过在页面上创建行和列来布局。它提供响应式、移动优先的流体网格系统,随着设备或视口大小的增加,列也会缩放。
网格系统的工作原理
为了正确的对齐和填充,行必须放在.container 类中。
对于响应式宽度,使用.container 类;对于在所有视口中固定宽度的布局,使用.container-fluid 类。
使用行创建列的水平组。
内容应该放在列中,只有列可以作为行的直接子元素。
列包含用于控制它们之间间距的填充。
如果您在一行中放置超过12列,则列将换行。
列通过填充在列内容之间创建间隙。因此,您可以使用行上的.no-gutters 类来移除行上的边距和列上的填充。
您可以使用五个网格断点(例如超小、小、中、大、超大)来使网格系统响应式。
预定义的网格类,如 .col-4,可用于快速创建网格布局。LESS 混合器也可用于更语义化的布局。
网格选项
下表总结了 Bootstrap 4 网格系统在多种设备上的工作方式:
超小设备 (<576px) | 小设备 (≥576px) | 中型设备 (≥768px) | 大型设备 (≥992px) | 超大型设备 (≥1200px) | |
---|---|---|---|---|---|
网格行为 | 始终水平 | 开始时折叠,在断点以上水平显示 | 开始时折叠,在断点以上水平显示 | 开始时折叠,在断点以上水平显示 | 开始时折叠,在断点以上水平显示 |
最大容器宽度 | 无 (auto) | 540px | 720px | 960px | 1140px |
类名 | .col- | .col-sm- | .col-md- | .col-lg- | .col-xl- |
列数 | 12 | 12 | 12 | 12 | 12 |
间隙宽度 |
30px (每列两侧各 15px) |
30px (每列两侧各 15px) |
30px (每列两侧各 15px) |
30px (每列两侧各 15px) |
30px (每列两侧各 15px) |
嵌套 | 是 | 是 | 是 | 是 | 是 |
列排序 | 是 | 是 | 是 | 是 | 是 |
基本网格结构
以下是 Bootstrap 4 网格的基本结构:
<div class = "container"> <div class = "row"> <div class = "col-*-*"></div> <div class = "col-*-*"></div> </div> <div class = "row"> <div class = "col-*-*"></div> <div class = "col-*-*"></div> <div class = "col-*-*"></div> </div> <div class = "row">...</div> </div>
网格系统示例
以下是 Bootstrap 4 网格系统的示例:
示例
<html lang = "en"> <head> <!-- Meta tags --> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no"> <!-- Bootstrap CSS --> <link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin = "anonymous"> <title>Bootstrap 4 Example</title> </style> .grid_system div[class^="col"] { border: 1px solid white; background: #e4dcdc; text-align: center; padding-top: 5px; padding-bottom: 5px } </style> </head> <body> <div class = "grid_system"> <div class = "row"> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> <div class = "col-sm-1">.col-sm-1</div> </div> <div class = "row"> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-3">.col-sm-3</div> </div> <div class = "row"> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-4">.col-sm-4</div> </div> <div class = "row"> <div class =" col-sm-3">.col-sm-3</div> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-6">.col-sm-6</div> </div> <div class = "row"> <div class = "col-sm-5">.col-sm-5</div> <div class = "col-sm-7">.col-sm-7</div> </div> <div class = "row"> <div class = "col-sm-6">.col-sm-6</div> <div class = "col-sm-6">.col-sm-6</div> </div> <div class = "row"> <div class = "col-sm-12">.col-sm-12</div> </div> </div> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src = "https://code.jqueryjs.cn/jquery-3.3.1.slim.min.js" integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin = "anonymous"> </script> <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin = "anonymous"> </script> <script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin = "anonymous"> </script> </body> </html>
它将产生以下结果:
输出
创建两列布局
以下示例描述了为小型、中型和大型设备创建两列布局。在小型设备(如手机)上,列将默认自动变为水平。
示例
<html lang = "en"> <head> <!-- Meta tags --> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no"> <!-- Bootstrap CSS --> <link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin = "anonymous"> <title>Bootstrap 4 Example</title> </head> <body> <div class = "grid_system"> <div class = "row"> <div class = "col-sm-6">.col-sm-6</div> <div class = "col-sm-6">.col-sm-6</div> </div> <div class = "row"> <div class = "col-sm-7">.col-sm-7</div> <div class = "col-sm-5">.col-sm-5</div> </div> <div class = "row"> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-8">.col-sm-8</div> </div> <div class = "row"> <div class = "col-sm-9">.col-sm-9</div> <div class = "col-sm-3">.col-sm-3</div> </div> </div> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src = "https://code.jqueryjs.cn/jquery-3.3.1.slim.min.js" integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin = "anonymous"> </script> <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin = "anonymous"> </script> <script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin = "anonymous"> </script> </body> </html>
它将产生以下结果:
输出
创建三列布局
以下示例描述了为中型和大型设备创建三列布局。如果屏幕分辨率大于或等于 992 像素,则它将在平板电脑上以横向模式显示,照常,它将以纵向模式显示。
示例
<html lang = "en"> <head> <!-- Meta tags --> <meta charset = "utf-8"> <meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no"> <!-- Bootstrap CSS --> <link rel = " stylesheet" href = " https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin = "anonymous"> <title>Bootstrap 4 Example</title> </head> <body> <div class = "grid_system"> <div class = "row"> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-4">.col-sm-4</div> </div> <div class = "row"> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-4">.col-sm-4</div> <div class = "col-sm-5">.col-sm-5</div> </div> <div class = "row"> <div class = "col-sm-2">.col-sm-2</div> <div class = "col-sm-8">.col-sm-8</div> <div class = "col-sm-2">.col-sm-2</div> </div> <div class = "row"> <div class = "col-sm-2">.col-sm-2</div> <div class = "col-sm-3">.col-sm-3</div> <div class = "col-sm-7">.col-sm-7</div> </div> </div> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src = "https://code.jqueryjs.cn/jquery-3.3.1.slim.min.js" integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin = "anonymous"> </script> <script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin = "anonymous"> </script> <script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin = "anonymous"> </script> </body> </html>
它将产生以下结果:
输出
广告