Flex布局教程之-------flex入门demo09流式布局 重点理解:每行的项目数固定,会自动分行(根据项目占用的空间大小换行,占满100%,就换行。flex-flow: row wrap; 和flex: 0 0 25%;2个关键属性)。
@实例效果:
@实例代码:
<!DOCTYPE html>
<html lang=”zh-CN”>
<head>
<meta charset=”utf-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=0″>
<!– 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! –>
<title>flex入门demo09流式布局</title>
<!– Bootstrap –>
<link href=”css/bootstrap.min.css” rel=”stylesheet”>
<link href=”css/template.css” rel=”stylesheet”>
<style type=”text/css”>
/* 1,flex-flow
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.box {
flex-flow: <flex-direction> || <flex-wrap>;
}*/
.parent {
width: 200px;
height: 150px;
background-color: black; /*背景黑色*/
display: inline-flex;
flex-flow: row wrap; /*自动换行*/
align-content: flex-start;
margin-right:50px;
}
/*2,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)。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
(1),flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
(2),flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
(3),flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
*/
.child {
box-sizing: border-box;
background-color: white;
flex: 0 0 25%; /*这里百分25表示项目大小占1/4空间*/
height: 50px;
border: 1px solid red; /*边框红色*/
}
</style>
<!– HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries –>
<!– WARNING: Respond.js doesn\’t work if you view the page via file:// –>
<!–[if lt IE 9]>
<script src=”//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js”></script>
<script src=”//cdn.bootcss.com/respond.js/1.4.2/respond.min.js”></script>
<![endif]–>
</head>
<body>
<!– 流式布局:每行的项目数固定,会自动分行。 –>
<h1 style=”width:120px;margin:30px auto;”>流式布局</h1>
<div style=”width:960px;margin:0 auto;”>
<div class=”parent”>
<div class=”child”>1</div>
<div class=”child”>2</div>
<div class=”child”>3</div>
<div class=”child”>4</div>
<div class=”child”>5</div>
</div>
<div class=”parent”>
<div class=”child”>1</div>
<div class=”child”>2</div>
<div class=”child”>3</div>
<div class=”child”>4</div>
<div class=”child”>5</div>
<div class=”child”>6</div>
<div class=”child”>7</div>
<div class=”child”>8</div>
<div class=”child”>9</div>
<div class=”child”>10</div>
</div>
<div class=”parent”>
<div class=”child”>1</div>
<div class=”child”>2</div>
<div class=”child”>3</div>
<div class=”child”>4</div>
<div class=”child”>5</div>
<div class=”child”>6</div>
<div class=”child”>7</div>
<div class=”child”>8</div>
<div class=”child”>9</div>
<div class=”child”>10</div>
<div class=”child”>11</div>
<div class=”child”>12</div>
<div class=”child”>13</div>
<div class=”child”>14</div>
<div class=”child”>15</div>
</div>
</div>
<!– jQuery (necessary for Bootstrap\’s JavaScript plugins) –>
<script src=”js/jquery.min.js”></script>
<!–或者用网络版本:<script src=”//cdn.bootcss.com/jquery/1.11.3/jquery.min.js”></script>–>
<!– Include all compiled plugins (below), or include individual files as needed –>
<script src=”js/bootstrap.min.js”></script>
<script type=”text/javascript”>
</script>
</body>
</html>