css網格布局的常用屬性是什么

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

專業(yè)領域包括成都網站建設、網站制作、商城網站定制開發(fā)、微信營銷、系統平臺開發(fā), 與其他網站設計及系統開發(fā)公司不同,創(chuàng)新互聯的整合解決方案結合了幫做網絡品牌建設經驗和互聯網整合營銷的理念,并將策略和執(zhí)行緊密結合,為客戶提供全網互聯網整合方案。

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

首先來介紹幾個概念;

想象一個三行三列的布局,網格線就是構成網格所有的線條,三行三列的布局每行就會有4條網格線。

網格軌道就是相鄰兩條平行的網格線之間的部分。

和flex布局一樣,他會有父容器和子項目,在這兒我們稱為網格容器和網格項。

接下來,我們從網格容器到網格項的各個基本屬性來介紹網格布局。

css網格布局的常用屬性是什么

網格容器

網格容器是決定將網格分為幾行幾列,所以首先實現網格布局就要使該容器具有以下幾個屬性:

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:

網格布局的父容器基本屬性就是以上幾個。

  • display:grid

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

  • grid-template-columns

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

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

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

推薦使用fr。它也會自動計算除了grid-gap之外其余的部分。

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

  • grid-template-rows

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

  • grid-template

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

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

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

  • grid-gap

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

  • grid-template-areas

通過引用 grid-area 屬性指定的 網格區(qū)域(Grid Area) 名稱來定義網格模板。重復網格區(qū)域的名稱導致內容跨越這些單元格。一個點號(.)代表一個空的網格單元。這個語法本身可視作網格的可視化結構。

  • grid-template-areas:

“header header header header”

“main main . sidebar”

“footer footer footer footer”;

css網格布局的常用屬性是什么

  • grid-auto-flow:

    • row:告訴自動布局算法依次填充每行,根據需要添加新行

    • column:告訴自動布局算法依次填入每列,根據需要添加新列

    • dense:告訴自動布局算法在稍后出現較小的網格項時,嘗試填充網格中較早的空缺

  • justify-items

沿著 行軸線(row axis) 對齊 網格項(grid items) 內的內容

  • align-items

沿著 列軸線(row axis) 對齊 網格項(grid items) 內的內容

  • grid-auto-columns:

隱式網格的寬度

  • grid-auto-rows:

隱式網格的高度

網格項

網格項表示網格內部的直接子元素,不包括子元素的子元素。

常用屬性:

  • grid-column-start: 列網格線 開始,

  • grid-column-end: 列網格線 結束

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

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

  • grid-area: 網格名,在使用grid-template-areas時比較有用。

  • justify-self: 單個網格項在行軸線的對齊方式

  • align-self: 單個網格項在列軸線的對齊方式

<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網格布局的常用屬性是什么

在審查元素的時候毫不意外的發(fā)現該布局為五行五列的布局,上述的child中前四行代碼屬性的值都是以網格線的順序為基準,前兩行代碼表示第六列網格線開始,到第三列網格線結束,即表示后三列。其中的start不一定要比end小。第三四行代碼表示第一個網格線開始,第五個網格線結束,即表示前四行,四行代碼綜合起來就如圖所示。

當然,child中的前四行代碼也可以簡寫成這樣:

grid-row: 1/ 5;

grid-column: 6/ 3;

或者

grid-row: 1/ span 4; // 橫向第一個網格線開始,以下的4個網格軌道

grid-column: 3/span 3; // 豎向第三條網格線開始,以后的3個網格軌道

甚至簡寫成這樣

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

以上是“css網格布局的常用屬性是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!

標題名稱:css網格布局的常用屬性是什么
當前鏈接:http://bm7419.com/article36/isgisg.html

成都網站建設公司_創(chuàng)新互聯,為您提供App設計動態(tài)網站、網站內鏈網站設計公司、搜索引擎優(yōu)化、商城網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都app開發(fā)公司