<!doctype html>html
<html>瀏覽器
<head>佈局
<meta charset="UTF-8">flex
<title>Document</title>spa
<style>htm
/*--flex模型不須要加瀏覽器前綴(IE10+, Chrome21+, Firefox22+)--*/繼承
/*--Flex佈局,子元素的float、clear和vertical-align屬性將失效--*/it
* {io
margin: 0px;容器
padding: 0px;
}
div.box {
width: 300px;
height: 300px;
border: 1px solid gray;
margin: 30px auto;
display: flex; /*--讓容器成爲彈盒(flex針對塊級元素, inline-flex針對行內元素)--*/
flex-direction: row; /*--flex-direction屬性決定主軸的方向, 即項目的排列方向(row/row-reverse/column/column-reverse)--*/
flex-wrap: wrap; /*--默認狀況下,項目都排在一條線(又稱"軸線")上。flex-wrap屬性定義,若是一條軸線排不下,如何換行(nowrap/wrap/wrap-reverse)--*/
flex-flow: row wrap; /*--flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,默認值爲row nowrap。--*/
justify-content: space-around; /*--justify-content屬性定義了項目在主軸上的對齊方式。(flex-start/flex-end/center/space-between/space-around)--*/
align-items: stretch; /*--align-items屬性定義項目在交叉軸上如何對齊。(flex-start/flex-end/center/baseline/stretch)--*/
align-content: space-around; /*----align-content屬性定義了多根軸線的對齊方式。若是項目只有一根軸線,該屬性不起做用。(flex-start/flex-end/center/space-between/space-around/stretch)----*/
}
#flex-item-1 {
width: 100px;
height: 150px;
background-color: palegreen;
order: 0; /*--order屬性定義項目的排列順序。數值越小,排列越靠前,默認爲0。--*/
flex-grow: 0; /*--flex-grow屬性定義項目的放大比例,默認爲0,即若是存在剩餘空間,也不放大--*/
flex-shrink: 1; /*--flex-shrink屬性定義了項目的縮小比例,默認爲1,即若是空間不足,該項目將縮小。--*/
flex-basis: 300px; /*--flex-basis屬性定義了在分配多餘空間以前,項目佔據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多餘空間。它的默認值爲auto,即項目的原本大小--*/
flex: 1 1 100px; /*--flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值爲0 1 auto。後兩個屬性可選--*/
align-self: center; /*--align-self屬性容許單個項目有與其餘項目不同的對齊方式,可覆蓋align-items屬性。默認值爲auto,表示繼承父元素的align-items屬性,若是沒有父元素,則等同於stretch。--*/
}
#flex-item-2 {
width: 50px;
height: 100px;
background-color: plum;
order: 1;
flex-grow: 0;
flex-shrink: 1;
flex-basis: 100px;
align-self: baseline;
}
#flex-item-3 {
width: 50px;
height: 100px;
background-color: paleturquoise;
order: 2;
flex-grow: 0;
flex-shrink: 1;
flex-basis: 100px;
align-self: flex-end;
}
</style>
</head>
<body>
<div>
<div id="flex-item-1">flex-item-1</div>
<div id="flex-item-2">flex-item-2</div>
<div id="flex-item-3">flex-item-3</div>
</div>
</body>
</html>