整体代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>三栏布局</title>
<style>
*{
margin:0;
padding:0;
}
.box{
width:100%;
height:400px;
background-color: green;
}
.left{
width:200px;
height:400px;
background-color: indianred;
}
.right{
width:300px;
height:400px;
background-color: lightskyblue;
}
.middle{
height:400px;
background-color: yellow;
}
</style>
</head>
<body>
<div class = "box">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
</body>
</html>
position+margin
.box{
poistion:relative;
}
.left{
position:absolute;
left:0;
top:0;
}
.right{
position:absolute;
right:0;
top:0;
}
.middle{
margin:0 300px 0 200px;
}
float+margin
.left{
float:left;
}
.right{
float:right;
}
.middle{
margin:0 300px 0 200px;
}
注意这里如果不调整左中右三个div的位置,右边的div会下沉,效果如下
需要的调整代码为:
<div class = "box">
<div class="left"></div>
<div class="right"></div>
<div class="middle"></div>
</div>
万能的flex(强烈推荐)
.box{
display:flex;
}
.middle{
flex:1;
}