【CSS】flex 彈性盒 中的 flex:1 和 flex:auto 的區別


雙飛翼布局,左右兩邊,中間自適應拉伸。

父盒子

display: flex;
justify-content: space-between;

中間搜索框

width:100%


也可以直接父盒子給彈性盒,中間搜索框直接flex:1;即可完成布局

    flex:  為三個屬性的縮寫    flex-grow, flex-shrink, flex-basis
      flex-grow:     可拉伸 默認0
      flex-shrink:   可壓縮 默認1
      flex-basis:     當前元素的寬度  默認auto
 
    flex:1 ---其實應寫成,
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: 0%  (忽略自身寬度)
       
    flex:auto ---其實應寫成,
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: auto(元素自身寬度)
    
 
flex:1 和flex:auto 的區別:
 
     由於在這里只有一個元素,所以效果是一樣的。兩者的區別是 flex-basis屬性
 
     如果是多個元素,則flex:1      代表剩余空間均分,即去除內外邊距、邊框, 但是忽略自身元素寬度等。
                                   flex:auto 去除內外邊距、邊框, 但是要加上自身元素寬度。
 
總結:如果你要完全等分布局使用flex:1 ,如果你要根據內容寬度動態分配寬度則使用flex:auto(頂部導航條根據內容自動撐開) 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM