作用:
圣杯布局和双飞翼布局解决的问题都是一样的,就是两边顶宽,中间自适应的三栏布局,中间栏要放在文件流前面以优先渲染。
区别:
圣杯布局三栏利用 float 和 负margin 并列
利用父容器设置 padding 给两边侧栏腾空间
<body>
<div id = "father">
<div id="main">
<p>this is main</p>
</div>
<div id="left">left</div>
<div id="right">right</div>
</div>
</body>
<style>
#father {
padding: 0 60px 0 30px;
margin: 0;
float: left;
}
#main {
width: 100%;
height: 300px;
background: red;
}
#left {
width: 30px;
margin-left: -100%;
background: blue;
height: 100px;
position: relative;
right: 30px;
}
#right {
width: 60px;
margin-left: -60px;
background: yellow;
height: 200px;
position: relative;
left: 60px;
}
</style>
双飞翼布局三栏利用 float 和 负margin 并列
在中间栏加一层容器,利用 margin 给两栏腾空间
<body>
<div id = "father">
<div id = "container">
<div id="main">
<p>this is main</p>
</div>
</div>
<div id="left">left</div>
<div id="right">right</div>
</div>
</body>
<style>
#father {
padding: 0;
margin: 0;
min-width: 630px;
float: left;
}
#container {
width: 100%;
}
#container #main {
height: 300px;
background: red;
margin: 0 600px 0 30px;
}
#left {
width: 30px;
background: blue;
height: 100px;
margin-left: -100%;
}
#right {
width: 600px;
background: yellow;
height: 200px;
margin-left: -600px;
}
</style>