1,绝对布局(其核心思想定义一个父级容器为子类相对其进行定位,不建议在项目中使用该布局方式)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>绝对定位实现三列布局</title> </head> <style> body { margin: 0px; padding: 0px; /*background-color: lightgray;*/ } .header ,.footer { width: 100%; height: 60px; background-color: lightgray; } .content { width: 1000px; min-height: 100%; background-color: gray; margin: auto; text-align: center; line-height: 60px; } /*将绝对定位 main父级定位*/ .main { position: relative; width: 1000px; height: 650px; background-color: wheat; margin: auto; } .left{ position: absolute; min-height: 100%; background-color: lightgreen; top:0px; left: 0px; width: 200px; } .right{ position: absolute; min-height: 100%; background-color: lightcyan; top:0px; right: 0px; width: 200px; } .center{ margin: 0 200px; background-color: lightseagreen; min-height: 100%; } </style> <body> <!--DOM结构--> <!--头部--> <div class="header"> <div class="content">头部</div> </div> <!--//主体区块--> <div class="main"> <div class="left">左</div> <div class="center">中</div> <div class="right">右</div> </div> <!--//尾部--> <div class="footer"> <div class="content">底部</div> </div> </body> </html>
点击 "运行实例" 按钮查看在线实例
2,双飞翼布局(使用浮动float来实现布局,像国内的大型网站布局使用较多)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>双飞翼布局</title> </head> <style> .header ,.footer { width: 100%; height: 60px; background-color: lightgray; margin-bottom: 0px; } .content { width: 1000px; min-height: 100%; background-color: gray; margin: auto; text-align: center; line-height: 60px; } .container { width: 1000px; margin: auto; background-color: yellow; } .wrap{ width: 100%; background-color: lightcyan; float: left; } .main{ min-height: 600px; background-color: wheat; margin-left: 260px; margin-right: 250px; } /*使用伪类清除浮动造成的父容器塌陷*/ .container:after{ content: ''; display: block; clear: both; } .left { width: 200px; min-height: 600px; background-color: lightblue; float: left; margin-left: -100%; } .right { width: 200px; min-height: 600px; background-color: red; float: left; margin-left: -200px; } </style> <body> <!--双飞翼DOM结构--> <!--头部--> <div class="header"> <div class="content">头部</div> </div> <!--//主体区块--> <div class="container"> <div class="wrap"> <div class="main">主体内容</div> </div> <div class="left">左</div> <div class="right">右</div> </div> <!--//尾部--> <div class="footer"> <div class="content">底部</div> </div> </body> </html>
点击 "运行实例" 按钮查看在线实例
3,使用圣杯布局(核心思想和双飞翼差不多,但是圣杯加入了绝对定位实现布局,并且其在外国大多数网站使用较多)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>圣杯布局</title> <style> .header ,.footer { width: 100%; height: 60px; background-color: lightgray; } .content { width: 100%; min-height: 100%; background-color: gray; margin: auto; text-align: center; line-height: 60px; } .container{ width: 1000px; margin: auto; background-color: lightpink; } .container .main{ width: 100%; min-height: 650px; background-color: wheat; float: left; } .container .left{ width: 200px; min-height: 650px; background-color:lightblue ; float: left; margin-left: -100%; position: relative; left: -200px; } .container .right{ width: 200px; min-height: 650px; background-color: red; float: left; margin-left: -200px; position: relative; right: -200px; } .footer{clear: both} </style> </head> <body> <!--圣杯DOM结构--> <!--头部--> <div class="header"> <div class="content">头部</div> </div> <!--//主体区块--> <div class="container"> <div class="main">主体内容</div> <div class="left">左</div> <div class="right">右</div> </div> <!--//尾部--> <div class="footer"> <div class="content">底部</div> </div> </body> </html>
点击 "运行实例" 按钮查看在线实例