多栏等高的实现
再说多栏等高问题背景变border
记得之前发过一篇文章是关于多栏等高的实现:改一下名字吧, 两列高度未知,高度自适应 ! 今天继续在说这个问题 首先,先扯点废话,网上这种东西很多很多,解决的办法也很多,但是我比较忠实于这个负边距内补丁的办法!你可以选择你适用的办法! 先来总结下
记得之前发过一篇文章是关于多栏等高的实现:改一下名字吧,两列高度未知,高度自适应!
今天继续在说这个问题……
首先,先扯点废话,网上这种东西很多很多,解决的办法也很多,但是我比较忠实于这个负边距内补丁的办法!你可以选择你适用的办法!
先来总结下(实现的关键点):
(1)最外面的盒子,需要overflow:hidden;不设置你懂的,在此不多说……!
(2)里面两个盒子,左右,都需要设置 margin-bottom:-9999px; padding-bottom:9999px;
ok!完了!
先上个图


咦???底边跑哪里去了??想必大家都猜出来了,估计是maring-bottom导致的!没错,
那怎么办呢?好多童鞋,都想到,我在left和right的盒子外面在套一个盒子,给其边框不行么?
理论上感觉挺好,但是实际出来是不行滴!有兴趣的童鞋可以试一下,我就不上图了!
那么怎么解决呢?
我选择了定位+overflow来实现
具体看代码:
html结果代码变了:
<div id="box">
<div class="left">
<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd<br />adsfasd
</div>
<div class="right">
<br />adsfasd
</div>
</div>
<div style=" width:500px; height:1px; background:#666; overflow:hidden; position:relative; top:-1px;"></div>
多加了这么一个东西!css代码不变还是以前的:
<style>
#box{ overflow:hidden; width:500px;}
.left{ width:200px; margin-bottom:-9999px; padding-bottom:9999px; float:left; border:1px solid #666;}
.right{ margin-left:200px; margin-bottom:-9999px; padding-bottom:9999px; border:1px solid #999;}
</style>
最终结果就出来了:
