效果:
2、将left和middle同排
设置left的
margin-left: 100%;
将left向左移动middle宽度个单位,效果如下
3、将right和middle同排
将right的
margin-left:-100px
,将right向左移动right宽度个单位,效果如下
4、由于left和right各占middle左右的100个单位,所以将left和right设置为绝对定位,然后设置left的left:-1oopx
,right的right: -100px
,再设置container的padding为padding: 0 100px
,效果如下。
5、整体代码:
到此圣杯模式就已经结束,由于当middle的宽度小于left和right的宽度,布局就会乱,所以就出现了双飞翼的模式来解决。
解决圣杯模式时出现的问题
1、margin负值是什么意思???
2、right,left负值是什么意思???
margin-left设置为负值,元素就会向左移动,margin-top设置为负值,元素会向上移动,margin-top、margin-bottom对于元素本身不会有任何移动,但是后面的元素会覆盖该元素,例子如下
.one{
width: 100px;
height: 100px;
background: red;
margin-bottom: -50px;
}
.two{
width: 100px;
height: 100px;
background: green;
}
双飞翼:
和圣杯模式不同的是第四步,都是为了解决left占用middle的内容。圣杯模式使用
container
设置padding
来解决;双飞翼模式是在middle
中加了一个div
,让内容写在里面