Bootstrap是不是自适应的

2022-06-17 09:12:10

bootstrap是自适应的;自适应指的是不管屏幕有多大,都尽量不换行,只是横向缩放,而bootstrap是通过栅栏系统实现自适应的;栅格系统通过定义容器的大小,将其分为12等份,将浏览器以行列形式去划分实现自适应。

bootstrap是自适应的吗


bootstrap是自适应的

自适应是 不管屏幕多大,都尽量不换行,而只是横向缩放。而Boostrap是通过“栅栏系统”实现自适应的。

栅栏系统是通过定义容器大小,并将其等分12份,通过一系列行(row)与列(column),结合媒体查询制作成强大的响应式栅格系统。

Boostrap自适应功能的基础就是“栅栏"模式,它是将浏览器以行列形式去划分:一共12列,行数自定义,根据你所要显示的元素,确定每个元素显示的大小即需要的列数,如果超过范围,就会自动转行。每列的大小是Boostrap根据当前浏览器的大小自动平均分配。

工作原理:

数据行(row)必须包含在 .container(固定宽度) 或 .container-fluid(100%宽度)中。以便为其赋予合适的排列(aligment)和内补(padding)。

通过行(row)在水平方向上创建一组列(column),随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。。

通过列(row)设置padding属性来创建列之间的间隔。通过.row设置负值margin从而抵消.container元素设置的padding(简介为行(row)所包含的列(column)抵消padding,也即后面实例中向外突出的原因)。

超过12列,多余的列另起一行

Boostrap的自适应功能

其实理解栅栏模式之后,自适应功能就简单很多了,根据浏览器的大小,Boostrap有四种栅栏类名提供使用,用法与Css样式表类名选择器样式调用是一样的:

xs:col-xs-1 ~ col-xs-12,多列始终在一行内。

sm:col-sm-1 ~ col-sm-12,多列在浏览器像素宽度大于等于768px时才在一行内。

md:col-md-1 ~ col-md-12,多列在浏览器像素宽度大于等于992px时才在一行内。

lg:col-lg-1 ~ col-lg-12,多列在浏览器像素宽度大于等于1200px时才在一行内。

我贴一段伪代码:

<div class="row"> 
 <div class="col-sm-4  col-md-1"></div>   
 <div class="col-sm-4  col-md-1"></div>   
 <div class="col-sm-4  col-md-10"></div>
 </div>

这段的意思是当浏览器的宽度在768——992之间时,采取4:4:4的模式呈现,当浏览器宽度大于992时,就按1:1:10的模式呈现。

当然你也可以四种都是用,细分的在仔细点,不管怎么样,Boostrap会根据浏览器的宽度自动分配列宽度,从而匹配你所想要的呈现模式。