文章目录
引导:清除浮动带来的影响
如果不清除浮动就会带来一系列影响,需要在父盒子里加上overflow:hidden属性(或者其他清除浮动的方式)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文档标题</title>
<style>
.father{
border: 1px solid #f00;
/*overflow: hidden;*/
}
.son{
width: 100px;
height: 100px;
background-color: pink;
border:1px solid deepskyblue;
float: left;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
<div class="son"></div>
<div class="son"></div>
</div>
父盒子垮掉了
</body>
</html>
下面的栅格布局可以直接排列盒子不带来影响
一、flex伸缩(弹性)布局
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文档标题</title>
<style>
.father{
border: 1px solid #f00;
/* 1. 把父盒子设置成伸缩盒布局
特征:子元素默认水平排列
*/
display: flex;
}
.son{
width: 100px;
height: 100px;
background-color: pink;
border:1px solid deepskyblue;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
<div class="son"></div>
<div class="son"></div>
</div>
</body>
</html>
二、flex伸缩布局的方向
- 特征:子元素默认水平排列
- 竖直flex方向
flex-direction: row;
- 竖直flex方向
flex-direction: column ;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文档标题</title>
<style>
.father{
border: 1px solid #f00;
/* 1. 把父盒子设置成伸缩盒布局
特征:子元素默认水平排列
*/
display: flex;
/* 2. flex方向 */
flex-direction: column ;
}
.son{
width: 100px;
height: 100px;
background-color: pink;
border:1px solid deepskyblue;
}
</style>
</head>
<body>
<div class="father">
<div class="son">1</div>
<div class="son">2</div>
<div class="son">3</div>
<span>行内</span>
<span>行内</span>
</div>
</body>
</html>
三、水平垂直居中
传统布局(回顾)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"