双飞翼布局
双飞翼布局,是一种页面布局的形象的表达。具体表现形式为 两边顶宽,中间自适应宽度的三栏布局,中间栏要放在HTML文档流的最前,优先渲染
实现方式
float
浮动流
页面基本布局很简单,总共有三栏,中间栏位于文档流的最前面,优先渲染
```
<body>
<section class="container">
<div class="main"> // 中间栏,位于文档流的最前面
<div class="main-inner"> // 中间栏内容
</div>
</div>
<div class="sub"></div> // sub 左边栏
<div class="extra"></div> // extra 右边栏
</section>
</body>
```
为方便显示,清除
margin
和padding
, 指定高度给container
,指定背景颜色给三栏/* 清除margin和padding */ * { margin: 0; padding: 0; } /* 方便显示效果,指定高度,这里应该内容自动撑高 */ .container { height: 600px; } .main { background: red; } .sub { background: blue; } .extra { background: yellow; }
三栏全部左浮动,指定高度
/* 三栏都左浮动,指定高度 */ .main, .sub, .extra { float: left; height: 100%; }
中间栏宽度
100%
,占满所有宽度, 排在第一行.main { width: 100%; }
sub
左边栏 指定宽度150px
, 这个时候,因为main
中间栏已经占满所有宽度,所以sub
左边栏被挤出屏幕, 又因为之前统一左浮动,所以,
所以sub
从main
下面,第二行排列, 为了sub
左边栏能够排到第一行的最左边,sub</