flex布局
在父元素设置 display:flex,表明子元素按弹性盒子布局;在父元素设置align-items:center,表明子元素在垂直方向居中分布;在父元素设置justify-content:center;,表明子元素在在水平方向居中分布;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>flex 布局</title>
<style>
.main ,.main1 ,.main2 ,.main3 {
width: 400px;
height: 300px;
/* 设置该元素下的盒子按弹性布局 */
display: flex;
background-color: #d2d2d2;
/* 清除浮动 */
overflow: hidden;
}
.main2 {
/* 设置 main2 下块级元素在垂直方向居中 */
align-items:center;
}
.main3 {
/* 设置 main3 下块级元素在水平方向居中 */
justify-content:center;
}
.main div {
width: 80px;
height: 50px;
}
.main1 div {
flex: 1;
}
.main2 div {
width: 80px;
height: 50px;
}
.main3 div {
width: 80px;
height: 50px;
}
.red {
background-color: red;
}
.yellow {
background-color: yellow;
}
.blue {
background-color: blue;
}
.green {
background-color: green;
}
</style>
</head>
<body>
<div class="main">
<div class="red"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="green"></div>
</div>
<hr>
<div class="main1">
<div class="red"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="green"></div>
</div>
<hr>
<div class="main2">
<div class="red"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="green"></div>
</div>
<hr>
<div class="main3">
<div class="red"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="green"></div>
</div>
</body>
</html>
效果图: