摘要:什么是布局是的縮寫(xiě),意為彈性布局,用來(lái)為盒裝模型提供最大的靈活性。鏈接參考基本概念采用布局的元素,稱(chēng)為容器簡(jiǎn)稱(chēng)容器。
1.什么是Flex布局
Flex 是flexible Box 的縮寫(xiě),意為“彈性布局”,用來(lái)為盒裝模型提供最大的靈活性。任何一個(gè)容器都可以指定為Flex 布局。
鏈接參考
采用Flex布局的元素,稱(chēng)為容器(flex container),簡(jiǎn)稱(chēng)‘容器’。它的所有子元素自動(dòng)成為容器成員,稱(chēng)為Flex項(xiàng)目(flex item),簡(jiǎn)稱(chēng)項(xiàng)目“”
容器默認(rèn)存在兩根軸: 水平的主軸(main axis) 和垂直的交叉軸 (cross axis)。主軸的開(kāi)始位置(與邊框的交叉點(diǎn))叫 main start ,結(jié)束位置叫main end;交叉軸的開(kāi)始位置叫 cross start ,結(jié)束位置叫cross end。項(xiàng)目默認(rèn)沿著主軸排列。單個(gè)項(xiàng)目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做 cross size
3.容器的屬性容器有6個(gè)屬性
flex-direction
flex-wrap
justify-content
align-items
flex-flow
align-content
3.1 flex-direction
flex-direction 屬性決定項(xiàng)目的排列方向
flex-direction: row | row-reverse | column | column-reverse
row : 水平排列
row-reverse:水平反轉(zhuǎn)
column:垂直排列
column-reverse:垂直反轉(zhuǎn)
3.2 flex-wrap
flex-wrap 屬性決定項(xiàng)目在一條軸線上排不下如何換行
flex-wrap: nowrap | wrap | wrap-reverse
nowrap:默認(rèn)值,不換行
wrap: 換行,第一行在上方
wrap-reverse: 換行,第一行在下方
3.3 flex-flow
flex-flow 屬性是 flex-direction 屬性和flex-wrap 屬性的簡(jiǎn)寫(xiě),默認(rèn)值為 row nowrap
flex-flow : row nowrap
3.4 justify-content
justify-content 屬性決定了 項(xiàng)目在主軸上的對(duì)齊方式
justify-content: flex-start | flex-end | center | space-between | space-around
flex-start: 左對(duì)齊
flex: 右對(duì)齊
center:居中
space-between: 兩端對(duì)齊,項(xiàng)目之間的間隔相等
space-around:每個(gè)項(xiàng)目的兩側(cè)間隔相等。所以項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍。
3.5 align-items
align-items 屬性決定項(xiàng)目在交叉軸上如何對(duì)齊
align-items : flex-start | flex-end |center | baseline | stretch
flex-start:交叉軸的起點(diǎn)對(duì)齊(從上到下)
flex-end : 交叉軸的終點(diǎn)對(duì)齊(從下到上)
center: 交叉軸的中點(diǎn)對(duì)齊(中間)
baseline:項(xiàng)目的第一行文字的基線對(duì)齊(文字基線)
stretch:(默認(rèn)值),若果項(xiàng)目未設(shè)置高度,或設(shè)置為auto,項(xiàng)目將占滿整個(gè)容器高度
3.6 align-content
align-content 屬性定義了多跟軸線的對(duì)齊方式,如果項(xiàng)目只有一根軸線,該屬性不起作用
align-content:flex-start | flex-end | center | space-between | space-around | stretch
flex-start:與交叉軸的起點(diǎn)對(duì)齊
flex-end:與交叉軸的終點(diǎn)對(duì)齊
center: 與交叉軸的中點(diǎn)對(duì)齊
space-between : 與交叉軸的兩端對(duì)齊,軸線之間的間隔平均分布
space-around :每根軸線兩側(cè)的間隔相等。
stretch:默認(rèn)值,軸線占滿整個(gè)交叉軸
4.項(xiàng)目的屬性項(xiàng)目有6個(gè)屬性
order
flex-grow
flex-shrink
flex-basis
flex
align-self
4.1 order
order 屬性定義項(xiàng)目的排列順序。數(shù)字越小,排列越靠前,默認(rèn)為0
order:
4.2 flex-grow
flex-grow 屬性定義項(xiàng)目的放大比例,默認(rèn)為0,既如果存在剩余空間,也不放大
flex-grow:
4.3 flex-shrink
flex-shrink屬性定義了項(xiàng)目的縮小比例,默認(rèn)為1,既如果空間不足,該項(xiàng)目將縮小。
flex-shrink:
4.4 flex-basis
flex-basis 定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個(gè)屬性,計(jì)算主軸是否有多余的空間。它的默認(rèn)值為 auto, 既項(xiàng)目的本來(lái)大小。
flex-basis :
它可以設(shè)為 跟width 或height 屬性一樣的值(比如350px),則項(xiàng)目將占據(jù)固定空間。
4.5 flex 屬性
flex 屬性 是 flex-grow , flex-shrink 和flex-basis 的簡(jiǎn)寫(xiě),默認(rèn)值為 0 1 auto 。后兩個(gè)屬性可選
flex: none | [ <"flex-grow"> <"flex-shrink">? || <"flex-basis"> ]
該屬性有兩個(gè)快捷鍵值 auto( 1 1 auto) 和 none(0 0 auto),建議優(yōu)先使用這個(gè)屬性,而不是多帶帶寫(xiě)三個(gè)分離的屬性,因?yàn)闉g覽器會(huì)推算相關(guān)值
4.6 align-self
align-self 屬性允許單個(gè)項(xiàng)目與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋 align-items 屬性。默認(rèn)值為 auto,表示繼承父元素的 align-items 屬性,如果沒(méi)有父元素,則等于 stretch。
align-self : auto | flex-start | flex-end | center | baseline | stretch
該屬性可能取6 個(gè)值,除了auto,其它與align-items 屬性完全一致。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/113571.html
摘要:主要用來(lái)做橫向的布局。元素的布局學(xué)習(xí)我分成兩個(gè)部分,第一個(gè)部分是元素布局。以下幾個(gè)屬性影響著元素的布局。詳細(xì)還是看分鐘徹底弄懂布局講的非常明白。的時(shí)候,伸縮時(shí)需要考慮,按照進(jìn)行等比例伸縮。布局套路學(xué)習(xí)布局教程實(shí)例篇 前言:這是我看過(guò)最好的flex布局教程:30分鐘徹底弄懂flex布局 傳統(tǒng)的布局方法與flex屬性通覽 showImg(https://segmentfault.com/i...
摘要:案例圖片來(lái)自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁(yè)面布局像一張宣傳海報(bào),以一張精美圖片作為頁(yè)面的設(shè)計(jì)中心。 寫(xiě)在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過(guò)的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見(jiàn)的頁(yè)面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:案例圖片來(lái)自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁(yè)面布局像一張宣傳海報(bào),以一張精美圖片作為頁(yè)面的設(shè)計(jì)中心。 寫(xiě)在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過(guò)的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見(jiàn)的頁(yè)面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:幾種常見(jiàn)布局的寫(xiě)法首先要對(duì)父元素設(shè)置布局方式,同時(shí)在本案例中,利用媒體查詢,當(dāng)屏幕分辨率小于的時(shí)候,布局變成縱向排列。兩列布局定寬是的簡(jiǎn)寫(xiě)方式。 flex布局目前基本上兼容主流的瀏覽器,且實(shí)現(xiàn)方式簡(jiǎn)單。我整理了flex的一些知識(shí)點(diǎn),并且總結(jié)歸納了幾種常見(jiàn)布局的flex寫(xiě)法 ?flex基礎(chǔ)知識(shí)點(diǎn) flex-grow和flex-shrink相關(guān)計(jì)算公式 公式1:子元素空間 < 父容器 父...
摘要:布局也經(jīng)歷了一段演變歷史。不同于將要出現(xiàn)的網(wǎng)格布局針對(duì)目標(biāo)為大比例布局,彈性盒布局更適用于應(yīng)用組件和小比例布局。常規(guī)布局是基于塊和內(nèi)聯(lián)流方向,而布局是基于流。 前言 你還在用display+position+float來(lái)進(jìn)行css布局嗎?有沒(méi)有覺(jué)得用傳統(tǒng)的這種布局方法來(lái)實(shí)現(xiàn)特殊布局特別麻煩困難,例如:垂直居中。今天來(lái)記錄一下自己對(duì)flex布局的了解(雖然不算神馬新東西了都可以說(shuō)是舊東西...
摘要:布局是年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。實(shí)踐用來(lái)實(shí)現(xiàn)圣杯布局圣杯布局指的是一種最常見(jiàn)的網(wǎng)站布局。一般情況下,這種布局要求固定高度,固定寬度,自適應(yīng)。 Flex 布局是 W3C 2009年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。Flex 布局使用起來(lái)是非常簡(jiǎn)單的,本文談一談平時(shí)使用可能需要注意的問(wèn)題。 align-content 平時(shí)使用 ...
閱讀 2066·2021-11-22 13:52
閱讀 991·2021-11-17 09:33
閱讀 2719·2021-09-01 10:49
閱讀 2853·2019-08-30 15:53
閱讀 2665·2019-08-29 16:10
閱讀 2438·2019-08-29 11:31
閱讀 1364·2019-08-26 11:40
閱讀 1877·2019-08-26 10:59