欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS3的Flexbox布局的簡明入門指南

WEB前端開發(fā)   發(fā)布時間:2016-04-08 11:51:55   作者:愚人碼頭   我要評論
這篇文章主要介紹了CSS3的Flexbox布局的簡明入門指南,Flexbox在"布局界"可謂風(fēng)光無限,近來Facebook開源的React Native也采用Flexbox來布局,需要的朋友可以參考下

Flexbox布局概念

Flexbox布局( Flexible Box 或CSS3 彈性布局),是CSS3中的一種新的布局模式,是可以自動調(diào)整子元素的高和寬,來很好的填充任何不同屏幕大小的顯示設(shè)備中的可用顯示空間,收縮內(nèi)容防止內(nèi)容溢出,確保元素?fù)碛星‘?dāng)?shù)男袨榈牟季址绞?。使用Flexbox來布局更容易,可以使用更少的代碼,更簡單的方式實現(xiàn)更復(fù)雜的布局,例如對齊方式,排列方向,排列順序(這也是Flexbox布局的核心能力所在),彈性盒中的子元素通過在各個方向放置就可以以彈性的尺寸適應(yīng)父元素的顯示區(qū)域。由于子元素的顯示順序和它們在代碼中 的順序是獨立的,通過使用彈性盒,定位子元素變得更加簡單,復(fù)雜的布局也能夠使用更清晰的代碼更簡單的實現(xiàn)。獨立顯示被設(shè)定成只針對可見元素,而不是基于代碼的聲明和導(dǎo)航順序。

不同于塊級元素基于垂直方向布局以及行內(nèi)元素基于水平方向布局,彈性盒布局的算法是方向無關(guān)的。 雖然塊級元素布局在頁面中工作良好,但是其定義不足以支持那種需要根據(jù)用戶代理從豎直切換成水平等變化而進行方向切換、大小調(diào)整、拉伸、收縮的引用組件。不同于將要出現(xiàn)的網(wǎng)格布局針對目標(biāo)為大比例布局,彈性盒布局更適用于應(yīng)用組件和小比例布局。這兩種都是CSS工作組為了能與不同用戶代理、不同書寫模式和其他彈性需要進行協(xié)作而做出的努力。

名詞與基礎(chǔ)

Flexbox是一個完整的布局模塊,不是單一的屬性,設(shè)計的屬性有很多。Flexbox布局主要由父容器和它的直接子元素組成,其中父容器被稱之為flex container(flex容器),而其直接的子元素稱作為flex item(flex元素)。

Flexbox布局按照寬和高涉及的基本概念名稱有main axis(主軸)和cross axis(交叉軸,和主軸垂直),主軸起點邊稱為main start,主軸終點邊稱為main end,交叉軸起點邊稱為cross start,交叉軸終點邊稱為cross end。如圖:
201648115425835.png (563×333)

main axis(主軸):Flex容器的主軸主要用來排列Flex元素。它不一定是水平,這主要取決于flex-direction屬性。
main-start(主軸起點邊) | main-end(主軸終點邊):Flex元素的排列從容器的主軸起點邊開始,往主軸終點邊結(jié)束。
main size:Flex元素的在主軸方向的寬度或高度就是項目的主軸長度,F(xiàn)lex元素的主軸長度屬性是width或height屬性,由哪一個對著主軸方向決定。
cross axis(和主軸垂直交叉的軸):與主軸垂直的軸稱作交叉軸。
cross-start(交叉軸起點邊) | cross-end(交叉軸終點邊):伸縮行的排列從容器的交叉軸起點邊開始,往交叉軸終點邊結(jié)束。
cross size:Flex元素的在交叉軸方向的寬度或高度就是項目的交叉軸長度,F(xiàn)lex元素的交叉軸長度屬性是width或height屬性,由哪一個對著交叉軸方向決定。


例子

新的 flexbox 布局模式被用來重新定義CSS中的布局方式。很遺憾的是最近規(guī)范變動過多,導(dǎo)致各個瀏覽器對它的實現(xiàn)也有所不同。不過我仍舊想要分享一些例子,來讓你知道即將發(fā)生的改變。這些例子目前只能在支持 flexbox 的 Chrome 瀏覽器中運行,基于最新的標(biāo)準(zhǔn)。
使用flexbox你還可以做的更多;這里只是一些讓你了解概念的例子:

使用 Flexbox 的簡單布局

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .container {   
  2.   display: -webkit-flex;   
  3.   display: flex;   
  4. }   
  5. nav {   
  6.   width200px;   
  7. }   
  8. .flex-column {   
  9.   -webkit-flex: 1;   
  10.           flex: 1;   
  11. }  

201648115515641.png (1408×256)

使用 Flexbox 的牛逼布局

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .container {   
  2.   display: -webkit-flex;   
  3.   display: flex;   
  4. }   
  5. .initial {   
  6.   -webkit-flex: initial;   
  7.           flex: initial;   
  8.   width200px;   
  9.   min-width100px;   
  10. }   
  11. .none {   
  12.   -webkit-flex: none;   
  13.           flex: none;   
  14.   width200px;   
  15. }   
  16. .flex1 {   
  17.   -webkit-flex: 1;   
  18.           flex: 1;   
  19. }   
  20. .flex2 {   
  21.   -webkit-flex: 2;   
  22.           flex: 2;   
  23. }  

201648115605455.png (1402×182)

相關(guān)文章

  • 利用CSS3的flexbox實現(xiàn)水平垂直居中與三列等高布局

    這篇文章給大家介紹了三個小節(jié)的內(nèi)容,其中包括關(guān)于css3中flexbox需要掌握的概念、flexbox實現(xiàn)水平垂直居中對齊和三列等高自適應(yīng)頁腳區(qū)域黏附底部的布局,有需要的可以參考
    2016-09-12
  • CSS3的Flexbox骰子布局的實現(xiàn)及問題講解

    骰子布局顧名思義,就是好比骰子的一面最多可以放置9個點,而每個面放置的點數(shù)正好就是一個布局的模型圖,這里我們就帶來CSS3的Flexbox骰子布局的實現(xiàn)及問題講解:
    2016-06-27
  • 基礎(chǔ)的CSS3彈性盒Flexbox布局使用實例

    這篇文章主要介紹了基礎(chǔ)的CSS3彈性盒Flexbox布局使用實例,文中最后也提到了解決兼容性問題的基本方法,需要的朋友可以參考下
    2016-04-08
  • css3彈性盒模型(Flexbox)詳細(xì)介紹

    今天剛學(xué)了css3的彈性盒模型,這是一個可以讓你告別浮動、完美實現(xiàn)垂直水平居中的新特性。本文主要是總結(jié)一下今天所學(xué),有需要的朋友可以參考下
    2014-10-08
  • CSS3 Flexbox中flex-shrink屬性的用法示例介紹

    當(dāng)flex items的大小超過了flex container時, 各個flex item的壓縮比例,下面有個不錯的教程,大家可以參考下
    2013-12-30
  • 10分鐘理解CSS3 FlexBox彈性布局

    這篇文章主要介紹了10分鐘理解CSS3 FlexBox彈性布局的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-20

最新評論