1.圣杯布局和双飞翼布局
绝对定位方法
左右div设置为绝对定位;左div设置为 left: 0px;
右div设置为 right: 0px;
如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
html,body{
margin: 0px;
width: 100%;
}
h3{
height: 100px;
margin: 20px 0 0;
}
#left,#right{
width: 200px;
height: 200px;
background-color: #ffe6b8;
position: absolute;
top: 120px;
}
#left{
left: 0px;
}
#right{
right: 0px;
}
#center{
margin: 2px 210px;
background-color: #eee;
height: 200px;
}
</style>
<body>
<h3>实现三列宽度自适应布局</h3>
<div id="left">我是左边</div>
<div id="right">我是右边</div>
<div id="center">我是中间</div>
</body>
</html>
该布局的不足:因为是绝对定位,如果页面上有其他的内容,top的值要小心处理,最好给CSS样式进行一个初始化。
3.使用自身浮动法
自身浮动法的原理就是使用对左右使用分别使用float:left和float:right,float使左右两个元素脱离文档流,中间元素正常在正常文档流中,使用margin指定左右外边距对其进行一个定位。
如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
html,body{
margin: 0px;
width: 100%;
}
h3{
height: 100px;
margin: 20px 0 0;
}
#left,#right{
width: 200px;
height: 200px;
background-color: #ffe6b8;
}
#left{
float: left;
}
#right{
float: right;
}
#center{
margin: 2px 210px;
background-color: #eee;
height: 200px;
}
</style>
<body>
<h3>实现三列宽度自适应布局</h3>
<div id="left">我是左边</div>
<div id="right">我是右边</div>
<div id="center">我是中间</div>
</body>
</html>
该布局法的好处是受外界影响小,但是不足是 三个元素的顺序,center一定要放在最后,这是和绝对定位不一样的地方,center占据文档流位置,所以一定要放在最后,左右两个元素位置没有关系。当浏览器窗口很小的时候,右边元素会被击倒下一行。