经典布局
圣杯布局
双飞翼布局
通俗讲:左右固定,中间自适应
一、圣杯布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html,body{
height: 100%;
overflow: hidden;
}
.container{
padding: 0 200px;
height: 100%;
}
.center{
width: 100%;
min-height: 300px;
background-color: #A52A2A;
}
.left{
width: 200px;
min-height: 200px;
background-color: #00FFFF;
}
.right{
width: 200px;
min-height: 400px;
background-color: #00FFFF;
}
.center,.left,.right{
float: left;
}
.left{
margin-left: -100%;
position: relative;
left: -200px;
}
.right{
margin-right: -200px;
}
</style>
</head>
<body>
<div class="container">
<div class="center"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
二、双飞翼布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html,body{
height: 100%;
/* padding: 0;
margin: 0; */
}
.container,.left,.right{
float: left;
}
.container{
width: 100%;
}
.left{
width: 200px;
min-height: 200px;
background-color: #00FFFF;
}
.right{
width: 200px;
min-height: 200px;
background-color: #000000;
}
.container .center{
margin: 0 200px;
min-height: 400px;
background-color: #A52A2A;
}
.left{
margin-left: -100%;
}
.right{
margin-left: -200px;
}
</style>
</head>
<body>
<div class="container">
<div class="center"></div>
</div>
<div class="left"></div>
<div class="right"></div>
</body>
</html>
三、使用CALC(css3中提供的一个计算公式)
坚决不选,因为性能不好
四、flex(若不考虑兼容,首选flex)
<style type="text/css">
html,body{
overflow: hidden;
}
.container{
display: flex;
justify-content: space-between;
height: 100%;
}
.left,
.right{
/* left、right既不放大(第一个0)也不缩小(第二个0),所占空间是200px */
flex: 0 0 200px;
height: 200px;
background-color: #00FFFF;
}
.center{
/* 不给具体大小,把剩余空间全部占据 */
flex: 1;
min-height: 400px;
background-color: #000000;
}
</style>
</head>
<body>
<div class="container">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
五、定位(若考虑兼容,选择定位)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
html,body{
height: 100%;
overflow: hidden;
}
.conntainer{
position: relative;
height: 100%;
}
.left,
.right{
position: absolute;
width: 200px;
top: 0;
background-color: #00FFFF;
min-height: 200px;
}
.center{
margin: 0 200px;
min-height: 400px;
background-color: #A52A2A;
}
.left{
left: 0;
}
.right{
right: 0;
}
</style>
</head>
<body>
<div class="conntainer">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
</html>