溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css網(wǎng)格布局的常用屬性是什么

發(fā)布時(shí)間:2021-01-05 10:23:48 來(lái)源:億速云 閱讀:167 作者:小新 欄目:web開發(fā)

小編給大家分享一下css網(wǎng)格布局的常用屬性是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

和flex布局不同的是,網(wǎng)格布局(grid)是一個(gè)二維的布局,可以創(chuàng)建任意行列的布局。

首先來(lái)介紹幾個(gè)概念;

想象一個(gè)三行三列的布局,網(wǎng)格線就是構(gòu)成網(wǎng)格所有的線條,三行三列的布局每行就會(huì)有4條網(wǎng)格線。

網(wǎng)格軌道就是相鄰兩條平行的網(wǎng)格線之間的部分。

和flex布局一樣,他會(huì)有父容器和子項(xiàng)目,在這兒我們稱為網(wǎng)格容器和網(wǎng)格項(xiàng)。

接下來(lái),我們從網(wǎng)格容器到網(wǎng)格項(xiàng)的各個(gè)基本屬性來(lái)介紹網(wǎng)格布局。

css網(wǎng)格布局的常用屬性是什么

網(wǎng)格容器

網(wǎng)格容器是決定將網(wǎng)格分為幾行幾列,所以首先實(shí)現(xiàn)網(wǎng)格布局就要使該容器具有以下幾個(gè)屬性:

display: grid;

grid-template-columns

grid-template-rows

grid-gap

grid-template-areas

grid-auto-flow: dense | row(default) | column

justify-items: start|end|center|stretch(default)

align-items:

start|end|center|stretch(default)

grid-auto-columns:

網(wǎng)格布局的父容器基本屬性就是以上幾個(gè)。

  • display:grid

表示為網(wǎng)格布局,和flex布局中的display:flex意義相同,同樣該屬性還可以取值:inline-grid和subgrid

  • grid-template-columns

創(chuàng)建網(wǎng)格的列數(shù),除了百分比的形式之外,還支持各種單位的組合形式,比如 grid-template-columns: 100px 20% 1em 1vw 20%;

但是有個(gè)repeate函數(shù)可以簡(jiǎn)化相同的值,比如grid-template-columns: repeat(5, 20%)表示5個(gè)20%的寬度,和例子中的意義完全相同。

fr用于等分剩余空間,它的大小是將該屬性上的所有可計(jì)算的值(包括各種單位,百分比)除去后,剩余空間的大小。

推薦使用fr。它也會(huì)自動(dòng)計(jì)算除了grid-gap之外其余的部分。

如 grid-template-columns:100px 1fr 2fr repeat(2, 20%)。同樣的5列布局,其中的 1fr 表示寬度為總寬度減去左邊的100px和右側(cè)兩列的20%之后剩余的部分除以三。即第二列的寬度是將會(huì)是第三列的一半。

  • grid-template-rows

屬性值和grid-template-columns的屬性值完全一樣。

  • grid-template

是grid-template-rows和grid-template-columns的縮寫形式,屬性值的寫法為

grid-template: 1fr 50px/1fr 4fr; //為行數(shù)/列數(shù)的形式,

該代碼表示兩行兩列的布局,第一行的高度為底行的50px確定之后剩下的高度。第一列的寬度為將該容器分為五等分,第一列占據(jù)一份,第二列占據(jù)四份。

  • grid-gap

可以取一或兩個(gè)值,表示行列之間的間隙。

  • grid-template-areas

通過(guò)引用 grid-area 屬性指定的 網(wǎng)格區(qū)域(Grid Area) 名稱來(lái)定義網(wǎng)格模板。重復(fù)網(wǎng)格區(qū)域的名稱導(dǎo)致內(nèi)容跨越這些單元格。一個(gè)點(diǎn)號(hào)(.)代表一個(gè)空的網(wǎng)格單元。這個(gè)語(yǔ)法本身可視作網(wǎng)格的可視化結(jié)構(gòu)。

  • grid-template-areas:

“header header header header”

“main main . sidebar”

“footer footer footer footer”;

css網(wǎng)格布局的常用屬性是什么

  • grid-auto-flow:

    • row:告訴自動(dòng)布局算法依次填充每行,根據(jù)需要添加新行

    • column:告訴自動(dòng)布局算法依次填入每列,根據(jù)需要添加新列

    • dense:告訴自動(dòng)布局算法在稍后出現(xiàn)較小的網(wǎng)格項(xiàng)時(shí),嘗試填充網(wǎng)格中較早的空缺

  • justify-items

沿著 行軸線(row axis) 對(duì)齊 網(wǎng)格項(xiàng)(grid items) 內(nèi)的內(nèi)容

  • align-items

沿著 列軸線(row axis) 對(duì)齊 網(wǎng)格項(xiàng)(grid items) 內(nèi)的內(nèi)容

  • grid-auto-columns:

隱式網(wǎng)格的寬度

  • grid-auto-rows:

隱式網(wǎng)格的高度

網(wǎng)格項(xiàng)

網(wǎng)格項(xiàng)表示網(wǎng)格內(nèi)部的直接子元素,不包括子元素的子元素。

常用屬性:

  • grid-column-start: 列網(wǎng)格線 開始,

  • grid-column-end: 列網(wǎng)格線 結(jié)束

  • grid-column: start/end | start/span count

  • order: 與z-index的屬性相同,表示層疊的位置。

  • grid-area: 網(wǎng)格名,在使用grid-template-areas時(shí)比較有用。

  • justify-self: 單個(gè)網(wǎng)格項(xiàng)在行軸線的對(duì)齊方式

  • align-self: 單個(gè)網(wǎng)格項(xiàng)在列軸線的對(duì)齊方式

<div class='container'>
        <div class='child'></div>
    </div>
    <style>
    .container {
        display: grid;
        width: 580px;
        height: 580px;
        grid-gap: 3px;
        grid-template-rows: repeat(5, 1fr);
        grid-template-columns: repeat(5, 1fr);
        background-color: blanchedalmond;
    }
    .child {
        grid-column-start: 6;
        grid-column-end: 3;
        grid-row-start: 1;
        grid-row-end: 5;
        background: url(./babar.png);
        background-size: 116px 116px;
        order:1;
    }

css網(wǎng)格布局的常用屬性是什么

在審查元素的時(shí)候毫不意外的發(fā)現(xiàn)該布局為五行五列的布局,上述的child中前四行代碼屬性的值都是以網(wǎng)格線的順序?yàn)榛鶞?zhǔn),前兩行代碼表示第六列網(wǎng)格線開始,到第三列網(wǎng)格線結(jié)束,即表示后三列。其中的start不一定要比end小。第三四行代碼表示第一個(gè)網(wǎng)格線開始,第五個(gè)網(wǎng)格線結(jié)束,即表示前四行,四行代碼綜合起來(lái)就如圖所示。

當(dāng)然,child中的前四行代碼也可以簡(jiǎn)寫成這樣:

grid-row: 1/ 5;

grid-column: 6/ 3;

或者

grid-row: 1/ span 4; // 橫向第一個(gè)網(wǎng)格線開始,以下的4個(gè)網(wǎng)格軌道

grid-column: 3/span 3; // 豎向第三條網(wǎng)格線開始,以后的3個(gè)網(wǎng)格軌道

甚至簡(jiǎn)寫成這樣

grid-area: 1/3/ span 4/span 3;

以上是“css網(wǎng)格布局的常用屬性是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI