三栏布局即高度已知,左右两栏宽度已知,中间宽度随浏览器大小自适应。
1、float方式
代码:
<!DOCTYPE html>
<html>
<head>
<style>
.left {
float: left;
}
.right {
float: right;
}
.left,
.right {
width: 400px;
height: 500px;
background: #f00;
}
.middle {
height: 500px;
margin: 0 400px 0 400px;
background: #ff0;
}
</style>
</head>
<body>
<div class="container">
<div class="left">left</div>
<div class="right">right</div>
<div class="middle">middle</div>
</div>
</body>
</html>
显示结果:
2、position方式
代码:
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.left {
position: absolute;
}
.right {
position: absolute;
right: 0;
}
.left,
.right {
width: 400px;
height: 500px;
background: #f00;
}
.middle {
height: 500px;
margin: 0 400px 0 400px;
background: #ff0;
}
</style>
</head>
<body>
<div class="container">
<div class="left">left</div>
<div class="right">right</div>
<div class="middle">middle</div>
</div>
</body>
</html>
显示结果:
3、flex方式
代码:
<!DOCTYPE html>
<html>
<head>
<style>
.flex-box {
display: flex;
height: 400px;
}
.left {
width: 300px;
height: 400px;
margin-right: 20px;
background-color: red;
flex-grow: 0;
}
.center {
height: 400px;
background-color: blue;
flex-grow: 1;
}
.right {
width: 300px;
height: 400px;
margin-left: 20px;
background-color: yellow;
flex-grow: 0;
}
</style>
</head>
<body>
<div class="flex-box">
<div class="left">left</div>
<div class="center">center</div>
<div class="right">right</div>
</div>
</body>
</html>
显示结果: