实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>双飞翼布局</title> </head> <style> /*头部内容区*/ .header .content { width: 1000px; height: 50px; background-color: #eee; /* 上下外边距为0,左右自动居中 */ margin: 0 auto; } /*头部导航,清楚默认样式*/ .header .content .nav { margin:0;padding:0; } .header .content .nav .item { list-style: none; } /*头部导航中的链接样式: 重点*/ .header .content .nav .item a { float: left; min-width: 80px; min-height: 50px; line-height: 50px; color: white; padding: 0 12px; text-decoration: none; text-align: center; } .header .content .nav .item a:hover { background-color: red; font-size: 1.1rem; } /** 头部样式结束 **/ /**主体样式开始***/ /* 双飞翼布局 */ /* 主体容器水平居中 */ .container { width: 800px; margin: 5px auto; background-color: lightpink; overflow: hidden; } .wrap, .left, .right { float: left; } .wrap { /* 继承父级区块container宽度*/ width: inherit; min-height: 800px; background-color: cyan; } .left { width: 200px; min-height: 800px; background-color: lightcoral; margin-left: -100%; } /* 右边栏样式 */ .right { width: 200px; min-height: 800px; background-color: lightseagreen; margin-left: -200px; } .main { padding-left: 200px; padding-right: 200px; } /* 底部样式开始 */ .footer { background-color: lightgray; } .footer .content { width: 1000px; height: 60px; background-color: #444; margin: 0 auto; } .footer .content p { text-align: center; line-height: 60px; } .footer .content a { text-decoration: none; color: lightgrey; } .footer .content a:hover { color: white; } /* 底部样式结束*/ </style> <body> <!-- 头部 --> <div class="header"> <div class="content"> <ul class="nav"> <li class="item"><a href="">Home</a></li> <li class="item"><a href="">NEWS</a></li> <li class="item"><a href="">Product</a></li> <li class="item"><a href="">About Us</a></li> </ul> </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"> <p> <a href="">© 个人所有</a> | <a href="">网站通用布局-双飞翼</a> </p> </div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
双飞翼布局利用浮动和内外边距巧妙地把网页分为左中右,并且可以灵活增删,适用于各种网站布局
清除浮动常用方法
创建一个类用来清除浮动
.clear {
clear: both;
}
这个方案简单粗暴,但会多增加一个dom元素
父元素添加一个伪元素,专用来清浮动
.box1::after {
content: '';
display: block;
/*考虑到兼容性, 加个高度0,上个双保险,大多情况下可省略*/
height: 0;*/
clear: both;
}
父元素添加overflower,专用来清浮动
overflow: hidden;
最常用并且最简单的就是最后一种方法 overflow: hidden;