上一章即微信小程序之view的flex布局(1)里堕绩,我們學習了flex容器的屬性,總結(jié)一下它里面包括
(1)flex-direction 設(shè)置容器內(nèi)子元素即flex-item的排列方向财骨。
(2)flex-warp 設(shè)置容器內(nèi)子元素是否換行档悠。
(3)justify-content 設(shè)置子元素在橫軸即X軸的排列位置
(4)align-items 設(shè)置子元素在Y軸的排列位置
(5)align-content 設(shè)置子元素在多個主軸線上排列的位置戏自。
下面我們來講講 flex-item的屬性言沐,在flex容器中,每個子元素就是一個flex-item.
第一個屬性 order
order:<index> ? order屬性定義項目的排列順序酣栈。數(shù)值越小险胰,排列越靠前,默認為0矿筝。
如果item沒有設(shè)置order起便,則order默認為0,如圖我設(shè)置了view2,3,4的位置為3,2,1 看效果圖:
第二個屬性 flex-grow
flex-grow屬性定義項目的放大比例跋涣,默認為0缨睡,即如果存在剩余空間,也不放大陈辱。
如果所有項目的flex-grow屬性都為1奖年,則它們將等分剩余空間(如果有的話)。如果一個項目的flex-grow屬性為2沛贪,其他項目都為1陋守,則前者占據(jù)的剩余空間將比其他項多一倍。效果看圖:
因為設(shè)置了view3利赋,4設(shè)置了left-align屬性 水评,所以沒有均分,大家可以去掉嘗試一下媚送。
第三個屬性flex-shrink屬性
flex-shrink屬性定義了項目的縮小比例中燥,默認為1,即如果空間不足塘偎,該項目將縮小疗涉。如果所有項目的flex-shrink屬性都為1,當空間不足時吟秩,都將等比例縮小咱扣。如果一個項目的flex-shrink屬性為0,其他項目都為1涵防,則空間不足時闹伪,前者不縮小。
直接上圖 ?
第四個屬性flex-basis屬性
flex-basis屬性定義了在分配多余空間之前壮池,項目占據(jù)的主軸空間(main size)偏瓤。瀏覽器根據(jù)這個屬性,計算主軸是否有多余空間椰憋。它的默認值為auto硼补,即項目的本來大小。
第五個屬性align-self屬性屬性
align-self屬性允許單個項目有與其他項目不一樣的對齊方式熏矿,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性票编,如果沒有父元素褪储,則等同于stretch。
該屬性可能取6個值慧域,除了auto鲤竹,其他都與align-items屬性完全一致。