这两个.container
和.container-fluid
响应(即他们改变基于屏幕宽度的布局),但以不同的方式(我知道,命名不让它听起来这种方式)。
简短答案:
.container
跳动/断断续续地调整大小,并且
.container-fluid
连续/精细调整宽度:100%。
从功能角度来看:
.container-fluid
当您改变窗口/浏览器的宽度任意大小时,它会不断地调整大小,与以往不同的是,在侧面没有多余的空白空间.container
。(因此命名为:“流体”,而不是“数字”,“离散”,“分块”或“量化”)。
.container
在某些特定宽度上按块调整大小。换句话说,它将是不同的特定宽度,也称为“固定”宽度,即屏幕宽度的不同范围。
语义:“固定宽度”
您会看到命名混乱如何产生。从技术上讲,我们可以说.container
是“固定宽度”,但仅在不按每个粒度调整大小的意义上,它才是固定的。实际上,它并不是“固定”的,因为它实际上可以更改大小,因此始终保持特定的像素宽度。
从根本上看:
.container-fluid
具有CSS属性width: 100%;
,因此它会不断调整每个屏幕宽度的粒度。
.container-fluid {
width: 100%;
}
.container
具有“宽度= 800像素”(或em,rem等)之类的东西,在不同的屏幕宽度下具有特定的像素宽度值。当然,这就是导致当屏幕宽度超过屏幕宽度阈值时,元素宽度突然跳到其他宽度的原因。该阈值由CSS3媒体查询控制,允许您针对不同条件(例如屏幕宽度范围)应用不同的样式。
@media screen and (max-width: 400px){
.container {
width: 123px;
}
}
@media screen and (min-width: 401px) and (max-width: 800px){
.container {
width: 456px;
}
}
@media screen and (min-width: 801px){
.container {
width: 789px;
}
}
超越
您可以使任何固定宽度的元素都通过媒体查询做出响应,而不仅仅是.container
元素,因为媒体查询正是.container
在后台由引导程序实现的方式(有关代码,请参见JKillian的答案)。