等高佈局可以使用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>