flex布局

原文

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

Webkit內核的瀏覽器,必須加上-webkit

前綴。

parent為父級元素
.parent{ 
      display: -webkit-flex; /* Safari */ 
      display: flex;
}

設為Flex布局以后,子元素的float、clear和vertical-align屬性將失效。
下面6個屬性設置在容器上

flex-direction:row | row-reverse | column | column-reverse;
flex-wrap:nowrap | wrap | wrap-reverse;
flex-flow
justify-content:flex-start | flex-end | center | space-between | space-around;
align-items:flex-start | flex-end | center | baseline | stretch;
align-content:flex-start | flex-end | center | space-between | space-around | stretch;

子項目的屬性

order:屬性定義項目的排列順序。
flex-grow:flex-grow屬性定義項目的放大比例
flex-shrink:屬性定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。
flex-basis:flex-basis
屬性定義了在分配多余空間之前,項目占據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多余空間。它的默認值為auto
,即項目的本來大小。
flex
align-self:align-self
屬性允許單個項目有與其他項目不一樣的對齊方式,

order

<style>
*{
    margin: 0;
    padding: 0;
}

.parent{

    /*老版*/
    display: -webkit-box;

    /*新版*/
    display: flex;

    
}
.item{
    min-height: 100px;
    min-width: 100px;
    background: red;
    border: 1px solid #111;
}
.item:nth-child(2){
    order: 5;
}

.item:nth-child(3){
    order: 5;
}
</style>


//html
    <div class="parent">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
        <div class="item">4</div>
        <div class="item">5</div>
    </div>

** flex-grow屬性
flex-grow 屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。

  • 如果所有項目的flex-grow
    屬性都為1,則它們將等分剩余空間(如果有的話)。如果一個項目的flex-grow
    屬性為2,其他項目都為1,則前者占據的剩余空間將比其他項多一倍。
    .item { flex-grow: <number>; /* default 0 */}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容