这几天用div+css写网站,样子 上中下,中间是个左中右3列,可这3列不是等高偏巧有不同颜色的背景,结果就是ie、firefox...这些浏览器无一例外的现实的效果都是长短不齐,如何让这3列可以自适应高度?
调试了半天,搜索了一番,终于找到解决办法了,采用 Div + CSS 进行三列或二列布局时,事先不知道具体高度,只能根据内容的增减自适应高度,要使两列(或三列)的高度相同,用 Table 很容易实现,但采用 Div + CSS 就显得比较麻烦了。按照一般的做法,大都采用背景图填充或 JS 脚本的方法使高度相同,但这些都不是最好的办法,我认为…
下面介绍采用“隐藏容器溢出”和“正内补丁”和“负外补丁”结合的方法
主要代码:
#wrap{overflow:hidden;} /*外容器*/
#sidebar_left,#sidebar_right{padding-bottom:100000px;margin-bottom:-100000px;} /*列*/
完整例子代码 <style type="text/css">
<!--
#wrap{overflow:hidden;}
#sidebar_left,#sidebar_right{padding-bottom:100000px;margin-bottom:-100000px;}
-->
</style></head>
<body>
<div id="wrap" style="width:300px; background:#FFFF00;">
<div id="sidebar_left" style="float:left;width:100px; background:#FF0000;">Left</div>
<div id="sidebar_mid" style="float:left;width:100px; background:#666;">
Middle<br />
Middle<br />
Middle<br />
Middle<br />
Middle<br />
Middle<br />
Middle<br />
Middle<br />
Middle<br />
</div>
<div id="sidebar_right" style="float:right;width:100px; background:#0000FF;">Right</div>
</div>
在 IE7、Firefox1.0 测试通过
总结:最近用div+css写程序,应该说越来越不喜欢 div+css原因就是 现在的浏览器对 div+css支持的实在是太差劲了,可div+css的优势又迫使我采用,几经摸索,我现在采用了一个折中方案 div+css+table,也许这样的方式会让一些行家笑话,可管它黑猫白猫 抓到耗子是好猫,提高工作效率,让大多数浏览器上效果不走样,是程序员的责任,至于所谓的 web2.0等等 那是大师级人物的事,我就是一个代码工人,没那么伟大去做支持,越来越讨厌互联网上的新技术----我只用成熟的技术。
下一篇:CSS实现段落分割