<div class="box">
<header>
<h2>圣杯布局</h2>
</header>
<div class="container">
<div class="content col">
content
<p>1. 确保内容在最前面</p>
<p>2. 三列都左浮动且相对定位,左右宽度已知且固定</p>
<p>3. 给content设置width 100%</p>
<p>4. 这时left被挤下去了,给maring-left: -100%。占比父级tag(container)的100%</p>
<p>5. 这时content和left内容上重叠,从外层设置padding</p>
<p>6. 这时relative该起作用了,设置left的left值为负的宽度值</p>
<p>7. right怎么搞,给个负的右边距,值为left宽度。 这个地方为啥不能给负的左边距呢,因为会重叠,content和right的内容重叠。</p>
</div>
<div class="left col">
left
</div>
<div class="right col">
right
</div>
</div>
<div class="footer">
footer
</div>
</div>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container{
padding: 0 150px 0 200px;
min-width: 600px;
}
.col{
float: left;
position: relative;
}
.content{
border: 1px solid green;
width: 100%;
}
.left{
width: 200px;
margin-left: -100%;
left: -200px;
border: 1px solid red;
}
.right{
width: 150px;
margin-right: -150px;
border: 1px solid red;
}
.footer{
clear:both;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.