![Bootstrap基础教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/864/53286864/b_53286864.jpg)
2.3 使用方法
2.3.1 基本用法
栅格系统的基本使用方法如【实例2-1】所示。容器 container 包含行 row,行 row 包含列col-X-*。每行包含12栅格,如果定义的列超过12格,则自动换行。
为了获得更好的演示效果,我们在【实例2-1】的head部分添加如下代码。(注意,此代码需要写在“<link rel="stylesheet" href="css/bootstrap.min.css" />”之后。这里定义行row的底部外边距为15px,所有的列col-X-*设置了上/下内边距、背景颜色和边框。)
<style> .row{ margin-bottom:15px; } [class*="col"]{ padding-top:15px; padding-bottom:15px; background-color:rgba(86,61,124,0.15); border:1px solid rgba(86,61,124,.2); } </style>
以上代码在Chrome浏览器中的运行效果如图2-2所示。
![](https://epubservercos.yuewen.com/5D9695/31751384504064006/epubprivate/OEBPS/Images/figure-0022-0011.jpg?sign=1739436196-xI0OwplLtp0ggXjpqkwT4EncMzhZkVnl-0-2e111efff3a6eb4bdbe7eb9f59c81088)
图2-2 添加了行和列的样式
1.容器类
Bootstrap需要将页面内容和栅格系统包裹在一个布局容器中。为了使栅格具有响应性,屏幕宽度有5个响应断点:extra-small、small、medium、large 和 extra-large。具体如表2-1所示。
表2-1 屏幕宽度的响应断点及其屏幕宽度范围
![](https://epubservercos.yuewen.com/5D9695/31751384504064006/epubprivate/OEBPS/Images/figure-0022-0012.jpg?sign=1739436196-qzWwm48G0Ldh09HY69TJ9Q0GymS3FLrm-0-b03b0723d94a4bd58b8dee1e29669fa1)
Bootstrap提供了3种不同的容器,具体如下。
● .container容器:在每个响应断点处设置一个 max-width(最大宽度)。
● .container-fluid容器:在每个响应断点处设置容器宽度为100%。
● .container-{breakpoint}容器:在每个响应断点处设置容器宽度为100%,以达到指定的断点为止。其中,breakpoint的取值范围为sm(平板设备)、md(桌面显示器)、lg(大桌面显示器)和xl(超大桌面显示器)。例如,container-sm表示小于576px时,容器宽度为100%;当屏幕宽度大于等于576px时,container-sm就到达了断点,容器宽度与.container显示一致。
容器类在不同设备上的响应断点情况如表2-2所示。
表2-2 容器类的响应断点及其屏幕宽度范围
![](https://epubservercos.yuewen.com/5D9695/31751384504064006/epubprivate/OEBPS/Images/figure-0023-0013.jpg?sign=1739436196-8Ti9GqdrhECRET6HY5OPqPUekyjoRg3U-0-f8db2bb74e24e48da6db7a3d69576f8a)
在【实例2-1】改变浏览器的宽度中,可以看到不同的效果。随着宽度的改变,页面内容的宽度随之变化。
2.列类
在以上实例中,我们使用了col-lg-1、col-lg-4等列类。Bootstrap 4中定义的列类有以下几种。
● .col:等列宽,对所有设备都是一样的,进行等分。
● col-*:*代表数字,表示占了*格。例如,col-3表示对所有设备都是一样的,这一列占3格。
● col-X-*:X表示的是设备宽度,其取值为sm(平板设备)、md(桌面显示器)、lg(大桌面显示器)、xl(超大桌面显示器)。*表示占了*格。例如,col-md-4表示当设备宽度大于等于768px时,该列占了12列中4列的宽度。具体如表2-3所示。
表2-3 栅格系统表
![](https://epubservercos.yuewen.com/5D9695/31751384504064006/epubprivate/OEBPS/Images/figure-0023-0014.jpg?sign=1739436196-KqfAqvlgnJbKh9gJzZOgsEAjrakz0U0q-0-7c44df79ad1cf1219121fb23aba10aca)
读者可以自行修改【实例2-1】的代码,然后改变浏览器的宽度,会发现当宽度小于992px时,有些地方会一列占一行;当宽度大于1200px时,和大桌面效果是一致的。所以,这些布局都是向后兼容的。
这是因为在定义媒体查询时,定义为min-width,即最小宽度。示例如下。
@media (min-width:768px){ }
3.栅格系统中的样式
以下是栅格系统中的各个样式。
● .container:左右各有15px的内边距。
● .row:是column的容器,最多只能放12个column。行左右各有-15px的外边距,可以抵消.container的15px的内边距。
● column:左右各有15px的内容边距,可以保证内容不紧靠浏览器的边缘。两个相邻的column的内容之间有30px的间距。
这样定义后,column里面可以很方便地嵌套row。如果要在 column中嵌套 row,则此时的column具有和container相同的特性(左右各有15px的内边距),所以此时的column就相当于container。