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

基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例

AlloyTeam   發(fā)布時(shí)間:2016-04-08 12:04:01   作者:TAT.sheran   我要評(píng)論
這篇文章主要介紹了基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例,文中最后也提到了解決兼容性問(wèn)題的基本方法,需要的朋友可以參考下

   flexbox是一個(gè)新的盒子模型,當(dāng)你給一個(gè)元素使用了flexbox模塊,那么它的子元素就會(huì)指定的方向在水平或者縱向方向排列。這些子元素會(huì)按照一定的比例進(jìn)行擴(kuò)展或收縮來(lái)填補(bǔ)容器的可用空間。flexbox有許多很好用的地方,下面就著重講述一下它的一些使用場(chǎng)景:
 
Example 1: flexbox等分布局
 
      如果你要實(shí)現(xiàn)以下所示的樣式,你可能首先想到的是用float:
201648121454883.png (298×71) 

CSS Code復(fù)制內(nèi)容到剪貼板
  1.      <ul id="ranktop3">    
  2.     
  3.    <li>    
  4.     
  5.      <div class="ranktab">1</div>   
  6.     
  7.      <p>fdeg</p>    
  8.     
  9.      <p>霸氣值:170</p>    
  10.     
  11.    </li>     
  12.     
  13.    <li>    
  14.     
  15.      <div class="ranktab">2</div>    
  16.     
  17.      <p>bling</p>    
  18.     
  19.      <p>霸氣值:160</p>    
  20.     
  21.    </li>    
  22.     
  23.    <li>    
  24.     
  25.      <div class="ranktab">3</div>    
  26.     
  27.      <p>lea</p>   
  28.     
  29.      <p>霸氣值:150</p>   
  30.     
  31.    </li>    
  32.     
  33. </ul>   
  34.   
  35. ul li {   
  36.     
  37.     width: 32.9%;   
  38.     
  39.     floatleft;   
  40.     
  41.     border-right1px solid #fa9900;   
  42.     
  43.     padding5px 0;   
  44.     
  45. }  

 
但當(dāng)只有2個(gè)排名后,少了一個(gè)li節(jié)點(diǎn)后,就會(huì)展示如下:
201648121514023.png (300×68)

刪除兩個(gè)li節(jié)點(diǎn)后如下:
201648121536879.png (295×76)

但是用戶以及設(shè)計(jì)師肯定不希望看到這樣的界面。他們肯定希望界面是這樣的:
減少一個(gè)li節(jié)點(diǎn)后:
201648121619175.png (302×71)

刪除兩個(gè)li節(jié)點(diǎn)后如下:
201648121637365.png (299×69)

那么這里用display:flex布局是最好不過(guò)的了,新的flexbox布局模式被用來(lái)重新定義CSS中的布局方式:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. ul {   
  2.     
  3.     display:flex;//表示改直接子元素用flex布局,默認(rèn)橫向布局   
  4.     
  5. }   
  6.     
  7. ul li {   
  8.     
  9.      /*width: 32.9%;*/  
  10.     
  11.      /*float: left;*/  
  12.     
  13.      border-right1px solid #fa9900;   
  14.     
  15.      padding5px 0;   
  16.     
  17.      flex: 1;表示子元素之間平均分配   
  18.     
  19. }  

 
可見(jiàn)用flex布局非常完美,這就是flex布局的牛逼之處。很遺憾的是最近規(guī)范變動(dòng)過(guò)多,導(dǎo)致各個(gè)瀏覽器對(duì)它的實(shí)現(xiàn)也有所不同。為了兼容更多的瀏覽器,也可以這樣寫:

display: flex;display: -webkit-box;這兩個(gè)屬性的方法作用相同。
 
Example 2: flexbox不等分布局

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <div class="container">   
  2.     
  3.   <section class="initial">   
  4.     
  5.     <p>   
  6.     
  7.         空間足夠的時(shí)候,我的寬度是200px,如果空間不足,   
  8.     
  9.             我會(huì)變窄到100px,但不會(huì)再窄了。   
  10.     
  11.     </p>   
  12.     
  13.   </section>   
  14.     
  15.   <section class="none">   
  16.     
  17.     <p>   
  18.     
  19.        無(wú)論窗口如何變化,我的寬度一直是200px。   
  20.     
  21.     </p>   
  22.     
  23.   </section>   
  24.     
  25.   <section class="flex1">   
  26.     
  27.     <p>   
  28.     
  29.       我會(huì)占滿剩余寬度的1/3。   
  30.     
  31.     </p>   
  32.     
  33.   </section>   
  34.     
  35.   <section class="flex2">   
  36.     
  37.     <p>   
  38.     
  39.       我會(huì)占滿剩余寬度的2/3。   
  40.     
  41.     </p>   
  42.     
  43.   </section>   
  44.     
  45. </div>   
  46.   
  47. .container {   
  48.     
  49.   display: -webkit-flex;   
  50.     
  51.   display: flex;   
  52.     
  53. }   
  54.     
  55. .initial {     
  56.     
  57. -webkit-flex: initial;    
  58.     
  59.           flex: initial;   
  60.     
  61.   width200px;   
  62.     
  63.   min-width100px;   
  64.     
  65. /*空間足夠的時(shí)候,該div的寬度是200px,如果空間不足,該div會(huì)變窄到100px,但不會(huì)再窄了。*/  
  66.     
  67. }   
  68.     
  69. .none {   
  70.     
  71.   -webkit-flex: none;   
  72.     
  73.           flex: none;   
  74.     
  75.   width200px;   
  76.     
  77. /*無(wú)論窗口如何變化,我的寬度一直是200px。*/  
  78.     
  79. }   
  80.     
  81. .flex1 {   
  82.     
  83.   -webkit-flex: 1;   
  84.     
  85.           flex: 1;   
  86.     
  87.      /*改div會(huì)占滿剩余寬度的1/3。*/  
  88.     
  89. }   
  90.     
  91. .flex2 {   
  92.     
  93.   -webkit-flex: 2;   
  94.     
  95.           flex: 2;   
  96.     
  97.   /*改div會(huì)占滿剩余寬度的2/3。*/  
  98.     
  99. }   
  100.   

效果如下圖所示:
201648121657567.png (816×132)

Example 3: flexbox基本頁(yè)面布局

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <div class="container">   
  2.       <nav>   
  3. <div class="container">   
  4.       <nav>   
  5.         <ul>   
  6.           <li>   
  7.          <a href="http://www.alloyteam.com/">menu1</a>   
  8.           </li>   
  9.        </ul>   
  10.      </nav>   
  11.    <div class="content">   
  12.       <section >   
  13.          ...   
  14.      </section>   
  15.          <section>   
  16.        ...   
  17.       </section>   
  18.    </div>   
  19.  </div>   
  20.   
  21. .container {   
  22.     display: -webkit-flex;   
  23.     display: flex;   
  24. }   
  25. nav {   
  26.       width200px/*固定寬度*/  
  27. }   
  28. .content{   
  29.   -webkit-flex: 1; /*除去nav的固定寬度后,剩下的寬度都是屬于content的*/  
  30.             flex: 1;   
  31. }  

效果如下圖所示:
201648121714566.png (707×239)

Example 4: flexbox的居中布局

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <div class="vertical-container">   
  2.   <section class="vertically-centered">   
  3.     <p>   
  4.       CSS里總算是有了一種簡(jiǎn)單的垂直居中布局的方法了!   
  5.     </p>   
  6.   </section>   
  7. </div>   
  8.   
  9. .vertical-container {   
  10.   display: -webkit-flex;   
  11.   display: flex;   
  12.   height300px;   
  13. }   
  14. .vertically-centered {   
  15.   marginauto;   
  16. }  

201648121734925.png (822×323)

PS:解決兼容性問(wèn)題

對(duì)于Flexbox 以前的幾個(gè)版本可以使用Autoprefixer后處理程序來(lái)實(shí)現(xiàn)css3代碼自動(dòng)補(bǔ)全。比如:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. display: flex;  

編譯后:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. display: -webkit-box;   
  2. display: -webkit-flex;   
  3. display: -ms-flexbox;   
  4. display: flex;  

如果你使用Sass,那么可以使用@mixin來(lái)解決flexbox版本兼容,直接@include進(jìn)來(lái)就可以輕松解決三個(gè)版本的兼容問(wèn)題;這樣可以支持到IE10 +, 移動(dòng)端瀏覽器和最新的FF, Safari, Chrome, IE11, Opera等。
github項(xiàng)目地址:sass-flex-mixin

     

相關(guān)文章

  • 10分鐘理解CSS3 FlexBox彈性布局

    這篇文章主要介紹了10分鐘理解CSS3 FlexBox彈性布局的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-20
  • CSS3 Flex 彈性布局實(shí)例代碼詳解

    這篇文章主要介紹了CSS3 Flex 彈性布局實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-01
  • css flex 彈性布局詳解

    這篇文章主要介紹了css flex 彈性布局詳解的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-02
  • 實(shí)例講解CSS3中的box-flex彈性盒屬性布局

    flex布局毫無(wú)疑問(wèn)是當(dāng)今Web頁(yè)面的最強(qiáng)大布局方式,box-flex彈性盒模型是其中的一個(gè)代表,這里我們就來(lái)以實(shí)例講解CSS3中的box-flex彈性盒模型布局
    2023-06-22
  • CSS3彈性盒模型flex box快速入門心得(必看篇)

    下面小編就為大家?guī)?lái)一篇CSS3彈性盒模型flex box快速入門心得(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-24
  • flex彈性盒布局最后一行左對(duì)齊的實(shí)現(xiàn)思路

    這篇文章主要介紹了flex彈性盒布局最后一行左對(duì)齊的實(shí)現(xiàn)思路,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-08

最新評(píng)論