等高布局概念
等高布局是指子元素在父元素中高度相等的布局方式。等高布局的实现包括伪等高和真等高,伪等高只是看上去等高而已,真等高是实实在在的等高。下面将介绍的是:伪等高(margin与padding)真等高()
margin与padding实现伪等高
1、使用正值的padding-bottom把元素撑开;
2、用负值的margin-bottom把两个元素的下边界收回原来的位置。
3、父元素用overflow:hidden;把超出部分隐藏。
<style>
#fu{
border: 10px solid #000000;
overflow:hidden;
}
#zi_l{
width: 100px;
background: green;
margin-bottom: -2000px;
padding-bottom: 2000px;
border-bottom: 4px solid #fff;
float: left;
}
#zi_r{
width: 100px;
background: blue;
margin-bottom: -2000px;
padding-bottom: 2000px;
float: right;
}
</style>
<body>
<div id="fu">
<div id="box1">
<div>???</div>
<div>???</div>
<div>???</div>
<div>???</div>
<div>???</div>
</div>
<div id="box2">
<p>123</p>
<p>123</p>
<p>123</p>
</div>
</div>
</body>
效果图:
优点:
- 这种方法可以实现多列等高布局,并且也能实现列于列之间分割线效果,结构简单,兼容所有浏览器
缺点: - 如果页面中使用
<a>
锚点跳转时,将会隐藏部分文字信息 - 如果页面中的背景图片定位到底部,将会看不到背景图片
- 左右两个box,我们看不到下边框,但是可以用div来模拟边框
- 有有时候我们并不想让多出的部分隐藏。