双飞翼布局是一种灵活的布局,始于淘宝UED,应该是玉伯提出的。如果把三栏布局比作一只大鸟,可以把main看成是鸟的身体,sub和extra则是鸟的翅膀。这个布局的实现思路是,先把最重要的身体部分放好,然后再将翅膀移动到适当的地方。
来查看一个基本实例:
<!DOCTYPE HTML>
<html>
<head>
<meta charset='utf-8' />
<title>双飞翼布局实例</title>
<meta name='author' content='独行冰海' />
<style>
.main {
float: left;
width: 100%;
background:#39c;
height:300px;
}
.sub {
float: left;
width: 480px;
margin-left: -100%;
background:#f60;
height:300px;
}
.extra {
float: left;
width: 190px;
margin-left: -190px;
background:#666;
height:300px;
}
</style>
</head>
<body>
<div id="page">
<div id="hd"></div>
<div id="bd">
<div class="main"></div>
<div class="sub"></div>
<div class="extra"></div>
</div>
<div id="ft"></div>
</div>
</body>
</html>
优点:
实现了内容与布局的分离,即Any-Order Columns.
main部分是自适应宽度的,很容易在定宽布局和流体布局中切换。
任何一栏都可以是最高栏,不会出问题。
需要的hack非常少(就一个针对ie6的清除浮动hack:_zoom: 1;)
在浏览器上的兼容性非常好,IE5.5以上都支持。