圣杯布局和双飞翼布局的目的:
1.三栏布局,中间一栏最先加载和渲染(内容最重要)
2. 两侧内容固定,中间内容随着宽度自适应
3. 一般用于 PC 网页
圣杯布局实现思路:
1. 将最外层的container的padding 设置为 padding: 0 150px 0 200px; 为左右两块让出空间;
2. 将.middle,.left ,.right 三者设为浮动;
3. 将middle 的 width设置为 100%;
4. 分别给.left设置margin-left,.right设置margin-right;将left 和right 拉到与middle同一水平;
5. 再用定位将左右位置设置好
圣杯布局具体代码实现:
html代码:
<div class="container"> <div class="middle">middle</div> <div class="left">left</div> <div class="right">right</div> </div>
css代码:
.container{ padding: 0 150px 0 200px; overflow: hidden; } .middle,.left,.right{ float: left; height: 200px; } .left{ position: relative; width: 200px; margin-left: -100%; left:-200px; background-color: red; } .middle{ width: 100%; background-color: blue; } .right{ width: 150px; margin-right: -150px; background-color: yellow; }
双飞翼布局实现思路:
1. 将 .middle,.left,.right 设置为浮动
2. 给 middle 的width 设置为100%
3. 给.middle里加一个.middle-inner ,设置margin-left、margin-right,为.left 和 .right留出位置;
4.分别给.left 设置margin-left ,.right 设置margin-left,将.left和 .right拉到与.middle同一水平;
双飞翼布局代码实现:
html 代码:
<div class="middle"> <div class="middle-inner">center</div> </div> <div class="left">left</div> <div class="right">right</div>
css代码:
.middle,.left,.right{ float: left; height: 200px; } .middle{ width: 100%; background-color: blue; } .middle-inner{ margin: 0 150px 0 200px; } .left{ width: 200px; margin-left: -100%; background-color: red; } .right{ width: 150px; margin-left: -150px; background-color: yellow; }