摘要:網(wǎng)格單元格被劃分之后每一個格子就是單元格,也是布局的最小單位。網(wǎng)格區(qū)域若干個單元格拼接而成的區(qū)域。網(wǎng)格間隙單元格與單元格之間的距離,可以垂直也可以水平。
前言
CSS網(wǎng)格布局用于將頁面分割成數(shù)個主要區(qū)域,或者用來定義組件內(nèi)部元素間大小、位置和圖層之間的關(guān)系。像表格一樣,網(wǎng)格布局讓我們能夠按行或列來對齊元素。 但是,使用CSS網(wǎng)格可能還是比CSS表格更容易布局。 例如,網(wǎng)格容器的子元素可以自己定位,以便它們像CSS定位的元素一樣,真正的有重疊和層次。
介紹gird布局是一種基于二維的網(wǎng)格布局,與flex和普通的浮動布局相比,他最大的優(yōu)勢在于不取決dom節(jié)點(diǎn)的結(jié)構(gòu),而是直接把整個頁面劃分為多個格子,繼而進(jìn)行填充。
提供能力①二維布局,提供橫、豎方向布局,與table相似
②可設(shè)置具體的行數(shù)、列數(shù),且可設(shè)置每行、每列的大小,提供多種的彈性大小控制屬性
③可定義每個格子間的間隔(橫豎)
④可設(shè)置元素的對齊方式(基于元素所在單元格),批量控制,具體某個子元素控制
⑤可讓元素填充到指定的格子(某行、某列,跨格子),此功能可以對元素進(jìn)行任意的布局,而無需修改html結(jié)構(gòu)
在開發(fā)之前,你得先了解其兼容性??傮w來說,兼容性還是不夠全面,但如果一些公司用于內(nèi)部系統(tǒng)開發(fā),grid布局將會是一個不錯的選擇。
用于將整體劃分為每一個各自的線,可以水平(row grid lines),也可以是垂直的(column grid lines),如下圖中的紅線藍(lán)線。
被劃分之后每一個格子就是單元格,也是gird布局的最小單位。
若干個單元格拼接而成的區(qū)域。
單元格與單元格之間的距離,可以垂直也可以水平。
以下圖片來源:http://grid.malven.co/
display(啟動該布局) grid-template(網(wǎng)格模板)用于定義 grid columns, rows 和areas。
用于定義主軸(水平)對齊方式
用于定于副軸(垂直)對齊方式
用于定于主軸(水平)上多跟軸線的對齊方式
用于定于副軸(垂直)上多跟軸線的對齊方式
用于定義單元格的自動遍歷順序
以下圖片來源:http://grid.malven.co/
grid-column用于控制該組件在水平方向上占多少個格
用于控制該組件在垂直方向上占多少個格
合并控制組件在垂直水平方向上各占多少個格
用于定義該組件在主軸(水平)方向上內(nèi)容的對齊方式
用于定義該組件在副軸(垂直)方向上內(nèi)容的對齊方式
如何在不改變dom節(jié)點(diǎn)結(jié)構(gòu)的情況下,實(shí)現(xiàn)如下功能:在屏幕不同分辨率的情況下,頁面中的組件自動地移位。
①電腦:寬度大于1200px,布局如下:
②平板:寬度大于992px,小于1200px,布局如下:
③手機(jī):寬度小于992px,布局如下:
代碼來源,https://github.com/TheWalking...
html代碼css代碼headersubtitleleftmiddleright-topright-middleright-bottom
.container{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; grid-auto-rows: minmax(50px, auto); } .container div{ background-color: rgba(189, 249, 255, 1); border: 2px solid rgb(77, 170, 179, 1); border-radius: 5px; text-align: center; line-height: 50px; } @media only screen and (min-width: 768px) { .header{ grid-column: 1; grid-row: 1; } .subtitle{ grid-column: 1; grid-row: 2; } .left{ grid-column: 1; grid-row: 4 / 7; } .middle{ grid-column: 1; grid-row: 8 / 11; } .right-top{ grid-column: 1; grid-row: 3; } .right-middle{ grid-column: 1; grid-row: 7; } .right-bottom{ grid-column: 1; grid-row: 11; } .footer{ grid-column: 1; grid-row: 12; } } @media only screen and (min-width: 992px) { .header{ grid-column: 1 / 3; grid-row: 1; } .subtitle{ grid-column: 1 / 3; grid-row: 2; } .left{ grid-column: 1; grid-row: 4 / 7; } .middle{ grid-column: 2; grid-row: 4 / 7; } .right-top{ grid-column: 1 / 3; grid-row: 3; } .right-middle{ grid-column: 1; grid-row: 7; } .right-bottom{ grid-column: 2; grid-row: 7; } .footer{ grid-column: 1 / 3; grid-row: 8; } } @media only screen and (min-width: 1200px) { .header{ grid-column: 1 / 4; grid-row: 1; } .subtitle{ grid-column: 1 / 4; grid-row: 2; } .left{ grid-column: 1; grid-row: 3 / 6; } .middle{ grid-column: 2; grid-row: 3 / 6; } .right-top{ grid-column: 3; grid-row: 3; } .right-middle{ grid-column: 3; grid-row: 4; } .right-bottom{ grid-column: 3; grid-row: 5; } .footer{ grid-column: 1 / 4; grid-row: 6; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/117156.html
摘要:完整的說法是屬于同一個的倆個相鄰的的會發(fā)生重疊,與方向無關(guān)。元素會位于與與之間,使得寬度縮短。簡單的說,有了之后,布局不再局限于單個維度了。 什么是FC? Formatting Context,格式化上下文,指頁面中一個渲染區(qū)域,擁有一套渲染規(guī)則,它決定了其子元素如何定位,以及與其他元素的相互關(guān)系和作用。 BFC 什么是BFC Block Formatting Context,塊級格式...
摘要:完整的說法是屬于同一個的倆個相鄰的的會發(fā)生重疊,與方向無關(guān)。元素會位于與與之間,使得寬度縮短。簡單的說,有了之后,布局不再局限于單個維度了。 什么是FC? Formatting Context,格式化上下文,指頁面中一個渲染區(qū)域,擁有一套渲染規(guī)則,它決定了其子元素如何定位,以及與其他元素的相互關(guān)系和作用。 BFC 什么是BFC Block Formatting Context,塊級格式...
摘要:布局學(xué)習(xí)的主要目的是為了記住各種屬性么,最重要的是理解的定位機(jī)制與盒子模型。它是一個獨(dú)立的渲染區(qū)域,只有參與,它規(guī)定了內(nèi)部的如何布局,并且與這個區(qū)域外部毫不相干。 css布局 學(xué)習(xí)css的主要目的是為了記住各種屬性么?NO,最重要的是理解css的定位機(jī)制與盒子模型。 接下來,從布局的角度來學(xué)習(xí)css的定位機(jī)制和盒子模型,學(xué)習(xí)之前還是先來提幾個問題 1.進(jìn)行css布局前為什么要學(xué)習(xí)定位...
閱讀 1532·2021-11-18 10:02
閱讀 1689·2021-09-04 16:40
閱讀 3184·2021-09-01 10:48
閱讀 884·2019-08-30 15:55
閱讀 1861·2019-08-30 15:55
閱讀 1381·2019-08-30 13:05
閱讀 3026·2019-08-30 12:52
閱讀 1634·2019-08-30 11:24