BOOTSTRAP4的栅格系统详解
簡介
Bootstrap 提供了一套響應式、移動設備優先的流式網格系統,隨著屏幕或視口(viewport)尺寸的增加,系統會自動分為最多 12 列。
網格類
Bootstrap 4 網格系統有以下 5 個類:
.col- 針對所有設備
.col-sm- 平板 - 屏幕寬度等于或大于 576px
.col-md- 桌面顯示器 - 屏幕寬度等于或大于 768px
.col-lg- 大桌面顯示器 - 屏幕寬度等于或大于 992px
.col-xl- 超大桌面顯示器 - 屏幕寬度等于或大于 1200px
列與列間隔30px
布局
定義了幾個類型的布局容器,會在相應設備上進行響應,如.container-md容易,在屏寬<768時會滿屏不留margin和panding。
網格系統規則
Bootstrap4 網格系統規則:
網格每一行需要放在設置了 .container (固定寬度) 或 .container-fluid (全屏寬度) 類的容器中,這樣就可以自動設置一些外邊距與內邊距。
使用行來創建水平的列組。
內容需要放置在列中,并且只有列可以是行的直接子節點。
預定義的類如 .row 和 .col-sm-4 可用于快速制作網格布局。
列通過填充創建列內容之間的間隙。 這個間隙是通過 .rows 類上的負邊距設置第一行和最后一列的偏移。
網格列是通過跨越指定的 12 個列來創建。例如,設置三個相等的列,需要使用用三個.col-sm-4 來設置。
Bootstrap 3 和 Bootstrap 4 最大的區別在于 Bootstrap 4 現在使用 flexbox(彈性盒子) 而不是浮動。 Flexbox 的一大優勢是,沒有指定寬度的網格列將自動設置為等寬與等高列 。
下表總結了 Bootstrap 網格系統如何在不同設備上工作的:
套用格式
必須套在container-fluid >row 中或container>row中
等寬列
等寬響應式列
即屏幕寬度小于sm尺寸 576px 時,每列都是全寬,大于576px時,四列均分屏寬
多屏響應式列
<div class="row"><div class="col-sm-3 col-md-6"> col-sm-3 col-md-6 </div><div class="col-sm-9 col-md-6"> col-sm-9 col-md-6 </div></div>桌面設備的顯示器>md768px上兩個列的寬度各占 50%,如果在平板端>sm576且<md768則左邊的寬度為 25%,右邊的寬度為 75%, 在移動手機等小型設備上會堆疊全寬顯示。
強制換行或間隔
<div class="col">col</div><div class="w-100"></div><div class="col">col</div>w-25 w-50等可以分別嵌入一個25%和50%的空白區域,w-100強制塊換行
指定其中一列寬度
<div class="col"> 1 of 3 </div><div class="col-6"> 2 of 3 (wider) </div><div class="col"> 3 of 3 </div>第二個div占一半寬度,另外兩個左右均分余下寬度
隨內容的可變寬度
<div class="row justify-content-md-center"><div class="col col-lg-2"> 1 of 3 </div><div class="col-md-auto"> Variable width content </div><div class="col col-lg-2"> 3 of 3 </div> </div>
row的 justify-content-md-center可以讓塊居中
屏寬>lg960時,左右兩列各占2柵格,中間列由文字內容決定寬度
屏寬>md720且<lg960時,左右失限填滿左右空間,中間由文字內容決定寬度
屏寬<md720時,三列失限占全寬,成為三行
行列限定
<div class="container"><div class="row row-cols-2"><div class="col">Column</div><div class="col">Column</div><div class="col">Column</div><div class="col">Column</div></div> </div>row-cols-2指定本row每行只能包括兩個col。每個col也可以指定寬度,但總寬大于12時仍然會換行溢出。
垂直位置
<div class="row align-items-start"> <div class="row align-items-center"> <div class="row align-items-end"> ...... <div class="col align-self-start"> <div class="col align-self-center"> <div class="col align-self-center">使行內的col塊在行中垂直位置定位。align-self控制col本身,align-items控制內部col
水平位置
<div class="row justify-content-start"> 內部col靠左 <div class="row justify-content-center">內部col居中 <div class="row justify-content-end">內部col靠右 <div class="row justify-content-around">內部col均分列,最邊緣的col左右有空隙 <div class="row justify-content-between">內部col均分列,最邊緣的col左右緊貼外邊緣
列重新排序
order-1的列會放在order-12前面
偏移
<div class="col-md-4">.col-md-4</div> <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>兩個塊中間會有一個col-md-4尺寸的空白,即第二個col左側多了一個同等尺寸的margin-left
margin utilities
可以使用margin utilities 例如.mr-auto將同級列強制彼此分開。
嵌套
技巧
水平堆疊的技巧
為了節省空間使用一組.col-sm-*類,可以創建一個基本的網格系統,該系統屏寬<SM時變為水平。其它時候按列寬排列
總結
以上是生活随笔為你收集整理的BOOTSTRAP4的栅格系统详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一款集成化红队渗透工具箱
- 下一篇: 一物一码防窜货系统有什么作用