国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Flex > 正文

Flex布局和Grid布局實例分享

2020-03-24 19:04:01
字體:
來源:轉載
供稿:網友
很久之前就用過flex布局,覺得很好用,但是由于兼容,所以并沒有經常用,因此在用flex布局的時候應該考慮其兼容性,flex對移動端的兼容性比較高。

flex布局是一個網頁布局

容器的屬性

1.display:flex/inline-flex2.flex-direction 決定主軸的方向(即項目的排列方向)flex-direction: row | row-reverse | column | column-reverse;row(默認值):主軸為水平方向,起點在左端。row-reverse:主軸為水平方向,起點在右端。column:主軸為垂直方向,起點在上沿。column-reverse:主軸為垂直方向,起點在下沿。 3.flex-wrap 決定換不換行,默認不換行flex-wrap: nowrap | wrap | wrap-reverse;4.flex-flow 是flex-direction和flex-wrap的簡寫方式flex-flow: flex-direction || flex-wrap 5.justify-content 決定了項目在主軸上的對齊方式justify-content: flex-start | flex-end | center | space-between | space-around;flex-start(默認值):左對齊flex-end:右對齊center: 居中space-between:兩端對齊,項目之間的間隔都相等。space-around:每個項目兩側的間隔相等。所以,項目之間的間隔比項目與邊框的間隔大一倍。6.align-item 定義垂直位置,可以通過這個定義垂直居中align-items: flex-start | flex-end | center | baseline | stretch;flex-start:交叉軸的起點對齊。flex-end:交叉軸的終點對齊。center:交叉軸的中點對齊。baseline: 項目的第一行文字的基線對齊。stretch(默認值):如果項目未設置高度或設為auto,將占滿整個容器的高度。7.align-content 定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用。 align-content: flex-start | flex-end | center | space-between | space-around | stretch;flex-start:與交叉軸的起點對齊。flex-end:與交叉軸的終點對齊。center:與交叉軸的中點對齊。space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。stretch(默認值):軸線占滿整個交叉軸。


grid布局很好,但是兼容性現在并不是很好,測試了幾個瀏覽器,支持谷歌、火狐、Opera,不支持safari,IE10以下,360,QQ瀏覽器

一、網格容器

1.display:grid/grid-inline

2.grid-template-columns和grid-template-rows屬性可以顯式的設置一個網格的列和行

fr單位可以幫助我們創建一個彈列的網格軌道。它代表了網格容器中可用的空間(就像Flexbox中無單位的值)

grid-template-columns: 1fr 1fr 2fr

minmax()函數來創建網格軌道的最小或最大尺寸。minmax()函數接受兩個參數:第一個參數定義網格軌道的最小值,第二個參數定義網格軌道的最大值。可以接受任何長度值,也接受auto值。auto值允許網格軌道基于內容的尺寸拉伸或擠壓

grid-template-rows: minmax(100px, auto);grid-template-columns: minmax(auto, 50%) 1fr 3em;

repeat()可以創建重復的網格軌道。這個適用于創建相等尺寸的網格項目和多個網格項目。repeat()接受兩個參數:第一個參數定義網格軌道應該重復的次數,第二個參數定義每個軌道的尺寸。

grid-template-rows: repeat(3, 1fr);

grid-template-columns: 30px repeat(3, 1fr) 30px;

二、間距

1.grid-column-gap 創建列與列之間的間距

2.grid-row-gap 創建行與行之間的間距

3.grid-gap

grid-gap是grid-row-gap和grid-column-gap兩個屬性的縮寫,如果它指定了兩個值,那么第一個值是設置grid-row-gap的值,第二個值設置grid-column-gap的值。如果只設置了一個值,表示行和列的間距相等,也就是說grid-row-gap和grid-column-gap的值相同。

三、網格線

1.【grid-row-start】【grid-row-end】【grid-column-start】【grid-column-end】

通過網格線可以定位網格項目。網格線實際上是代表線的開始、結束,兩者之間就是網格列或行。每條線是從網格軌道開始,網格的網格線從1開始,每條網格線逐步增加1

grid-row-start: 2;grid-row-end: 3; grid-column-start: 2; grid-column-end: 3;

2.【grid-row】【grid-column】

grid-row是grid-row-start和grid-row-end的簡寫。grid-column是grid-column-start和grid-column-end的簡寫。如果只提供一個值,則指定了grid-row-start(grid-column-start)值;如果提供兩個值,第一個值是grid-row-start(grid-column-start)的值,第二個值是grid-row-end(grid-column-end)的值,兩者之間必須要用/隔開

grid-row: 2;

grid-column: 3 / 4;

3.關鍵詞span后面緊隨數字,表示合并多少個列或行

grid-row: 1 / span 3;grid-column: span 2;

4.【grid-area】指定四個值,第一個值對應grid-row-start,第二個值對應grid-column-start,第三個值對應grid-row-end,第四個值對應grid-column-end

grid-area: 2 / 2 / 3 / 3;

5.網格線命名

分配網格線名稱必須用方括號[網格線名稱],然后后面緊跟網格軌道的尺寸值。

grid-template-rows: [row-1-start] 1fr [row-2-start] 1fr [row-2-end];

grid-template-columns: [col-1-start] 1fr [col-2-start] 1fr [col-3-start] 1fr [col-3-end];

使用repeat()函數可以給網格線分配相同的名稱。

grid-template-rows: repeat(3, [row-start] 1fr [row-end]);grid-template-columns: repeat(3, [col-start] 1fr [col-end]);

使用repeat()函數可以給網格線命名,這也導致多個網格線具有相同的網格線名稱。相同網格線名稱指定網格線的位置和名稱,也且會自動在網格線名稱后面添加對應的數字,使其網格線名稱也是唯一的標識符

使用相同的網格線名稱可以設置網格項目的位置。網格線的名稱和數字之間需要用空格分開

grid-row: row-start 2 / row-end 3;grid-column: col-start / col-start 3;

6.網格區域命名

grid-template-areas 引用網格區域名稱也可以設置網格項目位置

grid-template-areas: header header content sidebar footer footer grid-template-rows: 150px 1fr 100px;
grid-template-columns: 1fr 200px;

7.grid-auto-flow 網格默認流方向是row,可以通過grid-auto-flow屬性把網格流的方向改變成column

grid-auto-flow: column

四、對齊

【網格項目對齊方式(Box Alignment)】

CSS的Box Alignment Module補充了網格項目沿著網格行或列軸對齊方式。

【justify-items】

【justify-self

justify-items和justify-self指定網格項目沿著行軸對齊方式;align-items和align-self指定網格項目沿著列軸對齊方式。

justify-items和align-items應用在網格容器上

【align-items】

【align-self】

align-self和justify-self屬性用于網格項目自身對齊方式

這四個屬性主要接受以下屬性值:

auto | normal | start | end | center | stretch | baseline | first baseline | last baseline

相關推薦:

Flex布局的可伸縮性詳解

CSS3中關于Flex布局的詳解

CSS使用Grid布局構建網站首頁

以上就是Flex布局和Grid布局實例分享的詳細內容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桦甸市| 南京市| 萨嘎县| 新闻| 渝中区| 手游| 顺平县| 昌黎县| 无为县| 额济纳旗| 寿阳县| 石家庄市| 和平区| 宝应县| 德令哈市| 柘城县| 二手房| 化隆| 乌海市| 焉耆| 镇沅| 吉木萨尔县| 呼和浩特市| 定州市| 若尔盖县| 多伦县| 广宁县| 黄平县| 舞阳县| 江阴市| 长葛市| 抚顺县| 昭通市| 澄江县| 靖西县| 裕民县| 会同县| 福清市| 视频| 揭阳市| 四平市|