都是三列的思想,中间主内容区域自适应,左右两列固定宽度。
主要为了加强关于css布局的理解
圣杯布局
html代码
1 | <div id="head"> |
主区域center放在前面优先渲染
css
1 | #container { |
思路整理
- 中间三列浮动定位float: left
- 主内容设置padding-left与padding-right用于放置左右两列(设置margin也可),同时用position:relative定位
- 左列设置margin-left:-100%;使left与center部分重合,然后设置right:200px;使其相对自身左移宽度值,这样,左列就定位在了center为其预留的位置上
- 右列设置margin-right为自身负宽度值,使右列定位在center为其预留位置上。
要点:
- relative定位
- 负margin的运用
双飞翼布局
html
1 | <div class="header">header</div> |
双飞翼布局在主内容区域外层多嵌套了一个div
css
1 | .content { |
思路整理
- 主内容外层嵌套一个div,外层div宽度为100%,内层div设置margin-left与margin-right为左右两列预留位置
- 左列采用margin-left:-100%将左列顶上
- 右列margin-left: -100px将右列顶上
要点:
- 主内容外层嵌套一个div
- 左右两列采用负margin
两种布局比较
- 圣杯布局是在为主内容(left+content+right)设置一个边距,采用==relative定位==及==负margin值==,使左右两列定位到为其预留的位置上
- 双飞翼布局是在==主要显示区域(content)外面嵌套上一层div==,外层div宽度为100%,内层(content)为左右列预留位置,左右两列采用==负margin值==定位到相应位置