简介:圣杯布局中有用定位来固定左右两栏的位置,淘宝某工程师觉得不太恰当,在圣杯布局的基础上稍作修改。
思路:在middle中嵌套div,作为真正的middle内容区。并在里面的div用padding撑开保留左右两栏的位置,让自己的内容完全显现出来。
<body>
<div id="header">
<h4>header</h4>
</div>
<div id="content">
<div class="middle">
<!-- 这是双飞翼和圣杯的核心区别 -->
<div class="m_inner">
middle
</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
<div id="footer">
<h4>footer</h4>
</div>
*{
margin: 0;
padding: 0;
}
body{
min-width: 600px;
}
#header,#footer{
border: 1px solid #000;
background: gray;
text-align: center;
}
#content .middle,#content .left,#content .right{
height: 50px;
line-height: 50px;
float: left;
}
/*双飞翼布局*/
#content{
overflow: hidden;
}
#content .middle{
width: 100%;
background: deeppink;
}
#content .middle .m_inner{
padding: 0 200px;
}
#content .left,#content .right{
background: pink;
width: 200px;
text-align: center;
}
#content .left{
margin-left: -100%;
}
#content .right{
margin-left: -200px;
}