1)最常见的 浮动、定位
2)自适应 百分比布局
3)响应式 @media媒体查询
4)弹性布局 display:flex;
弹性布局简介:
背景引入:提供一种更加有效的方式来对一个容器中的条目进行排列、对齐和分配空白空间。即便容器中条目的尺寸未知或是动态变化的,弹性盒布局模型也能正常的工作。在该布局模型中,容器会根据布局的需要,调整其中包含的条目的尺寸和顺序来最好地填充所有可用的空间。当容器的尺寸由于屏幕大小或窗口尺寸发生变化时,其中包含的条目也会被动态地调整。
给父元素设置 display:flex;
给子元素设置flex:* 来控制比例
比如 *=1 平分父元素的宽度
hover *=5 平分成8份鼠标移动上去的div占5份其余占3份
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.box{
display:flex;
width: 500px;
}
.box div{
height: 100px;
border:1px #00a6f1 solid;
flex:1;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s;
}
.box div:hover{
flex:5;
}
</style>
</head>
<body>
<div class="box">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>