CSS3 Flex布局和Grid布局


 

1 flex容器的六個屬性

flex實現垂直居中:

<div class="box">
  <span class="item"></span>
</div>

.box {
  display: flex;
  justify-content: center;
  align-items: center;
}

 

1 flex-direction
.box {
  flex-direction: row | row-reverse | column | column-reverse;
}

2 flex-wrap 不換行,換行,換行且第一行在下方
.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

3 flex-flow 前兩項屬性簡寫,默認 row nowrap
.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}

4 justify-content:主軸位置,左對齊,右對齊,居中,兩端對齊,項目兩側距離相等
.box {
  justify-content: flex-start | flex-end | center | space-between | space-around;
}

5 align-itemsY軸對齊:上,下,居中,基線,占滿
.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

6 align-content 帶基線對齊
.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

 2 Flex元素屬性

1 Flex元素的屬性

1 flex:flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值為0 1 auto
.item {
  flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
/*
兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)
*/

2 order屬性,默認0,填寫可設置元素順序

3 align-self
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同於stretch

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

http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

3 Grid布局,將頁面表示為柵格

CSS Grid 沒有替換 flexbox 屬性,盡可能保留了它的功能,可以在 Grid中使用justify-content和align-items等屬性

<div class='wrapper'>
  <div class='letter'>
    1
  </div>
  <div class='letter'>
    2
  </div>
  <div class='letter'>
    3
  </div>
  <div class='letter'>
    4
  </div>
</div>

.wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;

  @media screen and (min-width: 500px) {
    grid-template-columns: 1fr 1fr 1fr;
  }
/*當寬大於800px時顯示為四列*/
  @media screen and (min-width: 800px) {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
/**/
.wrapper {
  display: grid;
  grid-template-columns: 3fr 1fr 1fr;/*第一列顯示為第二列的三倍*/
  grid-template-rows: 1fr 3fr;
}

 


免責聲明!

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



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