成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

H5開發(fā)開發(fā)利器——flex

whatsns / 2088人閱讀

摘要:目前,它已經(jīng)得到了大部分瀏覽器的支持。它的所有子元素自動成為容器成員,稱為項(xiàng)目,簡稱項(xiàng)目。容器默認(rèn)存在兩根軸水平的主軸和垂直的交叉軸。如果項(xiàng)目未設(shè)置高度或設(shè)為,將占滿整個容器的高度。

距離新建這篇文章已經(jīng)好幾個月了,今天有終于有時間來完善這篇文章了...
flexbox即彈性布局,可以簡便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁面布局。目前,它已經(jīng)得到了大部分瀏覽器的支持。
flexbox共經(jīng)歷了三個階段的變化:
(1)W3C 2009年第1次草案:display:box
(2)W3C 2011年第2次草案:display:flexbox
(3)W3C 2012年第3次草案:display:flex(當(dāng)前階段版本)

首先來看張圖了解下幾個基本的概念:

采用Flex布局的元素,稱為Flex容器(flex container),簡稱”容器”。它的所有子元素自動成為容器成員,稱為Flex項(xiàng)目(flex item),簡稱”項(xiàng)目”。

容器默認(rèn)存在兩根軸:水平的主軸(main axis)和垂直的交叉軸(cross axis)。主軸的開始位置(與邊框的交叉點(diǎn))叫做main start,結(jié)束位置叫做main end;交叉軸的開始位置叫做cross start,結(jié)束位置叫做cross end。
項(xiàng)目默認(rèn)沿主軸排列。單個項(xiàng)目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做cross size。

任何一個元素都可以只能為flex布局,其可以水平布局也可以垂直布局(通過設(shè)置flex-direction:row/columnl來設(shè)置),設(shè)置元素為flex 布局后我們還可以根據(jù)不同的需求在該元素上設(shè)置一下幾種屬性(容器屬性):
(1)flex-direction屬性決定主軸的方向(即項(xiàng)目的排列方向)

  值范圍:flex-direction: 
                        row             (默認(rèn)值):主軸為水平方向,起點(diǎn)在左端
                        row-reverse      主軸為水平方向,起點(diǎn)在右端
                        column           主軸為垂直方向,起點(diǎn)在上沿
                        column-reverse;  主軸為垂直方向,起點(diǎn)在下沿
  

(2)flex-wrap屬性決定了如果一條軸線排不下,如何換行

  值范圍:flex-wrap: 
                        nowrap            不換行
                        wrap              換行,從第二行的左側(cè)開始
                        wrap-reverse      換行,從第二行的右側(cè)開始

(3)justify-content屬性決定了項(xiàng)目在主軸上的對齊方式

  值范圍:justify-conten: 
                        flex-start            左對齊
                        flex-end              右對齊
                        center                居中對齊
                        space-between         兩端對齊,項(xiàng)目之間的間隔都相等
                        space-around          每個項(xiàng)目兩側(cè)的間隔相等
                        
(4)align-items屬性決定了項(xiàng)目在交叉軸上如何對齊方式
  值范圍:align-items: 
                        flex-start     交叉軸的起點(diǎn)對齊。
                        flex-end       交叉軸的終點(diǎn)對齊。
                        center         交叉軸的中點(diǎn)對齊。
                        baseline       項(xiàng)目的第一行文字的基線對齊。
                        stretch        如果項(xiàng)目未設(shè)置高度或設(shè)為auto,將占滿整個容
                                       器的高度。
                                       
(5)align-content屬性決定了多根軸線的對齊方式,如果項(xiàng)目只有一根軸線,該屬性不起作用
  值范圍:align-content: 
                        flex-start     與交叉軸的起點(diǎn)對齊。
                        flex-end       與交叉軸的終點(diǎn)對齊。
                        center         與交叉軸的中點(diǎn)對齊。
                        space-between  與交叉軸兩端對齊,軸線之間的間隔平均分布。
                        space-around   每根軸線兩側(cè)的間隔都相等。所以,軸線之間的
                                       間隔比軸線與邊框的間隔大一倍。
                        stretch        軸線占滿整個交叉軸。
                        
  **以上就是flex布局時容器上比較重要的屬性,需理解透徹。**
  
  

說完容器的布局屬性再來說說容器下各個項(xiàng)目的布局屬性

  以下6個屬性設(shè)置在項(xiàng)目上:
     1. order         定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0
     2. flex-grow     定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大
     3. flex-shrink   定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小
     4. flex-basis    定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)。瀏
                      覽器根據(jù)這個屬性,計算主軸是否有多余空間。它的默認(rèn)值為auto,即
                      項(xiàng)目的本來大小
     5. align-self    允許單個項(xiàng)目有與其他項(xiàng)目不一樣的對齊方式,可覆蓋align-items屬
                      性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有
                      父元素,則等同于stretch
                      
     **以上就是flex布局時項(xiàng)目上比較重要的屬性,需理解透徹。**
     
     

幾點(diǎn)注意事項(xiàng)

flex布局其實(shí)就是將父類的元素實(shí)現(xiàn)了流式布局,我們只需要在父類定位好的情況下給子類“添磚
加瓦”就可以了

justify-content:center + align-content:center 結(jié)合使用可以很方便的實(shí)現(xiàn)元素水
平和垂直居中,相比之前用position來實(shí)現(xiàn)要高效很多

由于經(jīng)歷了3個階段的演變,所有在個別瀏覽器下會存在兼容性問題(如uc的低版本、QQ瀏覽器),
所以建議使用"autoprefixer"這類工具自動補(bǔ)全各類寫法已避免該問題的出現(xiàn)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/111674.html

相關(guān)文章

  • CSS相關(guān)文章

    摘要:如何用獲取虛擬鍵盤高度前端早讀課月號早讀文章由湯谷投稿分享。大殺器和把動畫轉(zhuǎn)換成原生動畫初來乍到,本文搬運(yùn)自我月份在知乎發(fā)的文章。 前端面試之 CSS3 新特性 除了 HTML5 的新特性,CSS3 的新特性也是面試中經(jīng)常被問到的。 如何用 js 獲取虛擬鍵盤高度?-前端早讀課 9月7號早讀文章由@湯谷投稿分享。正文從這開始~ 這是一個存在很久的歷史問題了,對于這樣一個具有普遍性的問題...

    FrozenMap 評論0 收藏0
  • 前端資源收集整理

    摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長,但是干貨超級多,值得反復(fù)精讀! 聽說2017你想寫前端?:適合于已經(jīng)度過了小白階...

    awesome23 評論0 收藏0
  • 前端資源收集整理

    摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長,但是干貨超級多,值得反復(fù)精讀! 聽說2017你想寫前端?:適合于已經(jīng)度過了小白階...

    antyiwei 評論0 收藏0
  • 前端資源收集整理

    摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長,但是干貨超級多,值得反復(fù)精讀! 聽說2017你想寫前端?:適合于已經(jīng)度過了小白階...

    KavenFan 評論0 收藏0

發(fā)表評論

0條評論

whatsns

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<