等高佈局

看風景就發表於2016-02-29

等高佈局可以使用display:table-cell或者padding與margin對衝兩種方法。可以在IE8+使用table-cell,低於IE8使用對衝。

對衝原理
將padding-bottom設定很大,來增加子容器高度,margin-bottom設為padding-bottom相等的負值來恢復子容器高度,
父容器設定overflow:hidden來隱藏子元素。最後,使用內部div相對父容器絕對定位來模擬子容器的底邊框。

<div class="container">
     <div class="column left">
           <div class="btLine leftLine"></div>
     </div>
     <div class="column main" style="height: 800px;">
           <div class="btLine mainLine"></div>
     </div>
     <div class="column right">
           <div class="btLine rightLine"></div>
     </div>
</div>
<style>
.container{width:970px;margin:0 auto;position:relative;
display:table-row;overflow:hidden;}
.column{display:table-cell;*margin-bottom:-3000px;*float:left;*padding-bottom:3000px;height:500px;}
.left{width:300px;background:#7bd;border:1px solid green;}
.main{width:500px;background:#e5e5e5;border:1px solid red;}
.right{width:160px;background:#f63;border:1px solid blue;}
.btLine{position:absolute;bottom:0;height:1px;}
.leftLine{background:green;left:0;width:300px;}
.mainLine{background:red;left:300px;width:500px;}
.rightLine{background:blue;right:0;width:160px;}
</style>

 

相關文章