日期:2014-05-17 浏览次数:20673 次
? 以前做后台管理框架基本都是采用iframe来布局,即便是现在这种布局还有着广泛的应用。众所周知现在不管是前台还是后台都提倡采用DIV+CSS布局,至于这样左右什么好处这里不做阐述,Google 一下就能找到一大堆资料。Leeo 本人也比较喜欢DIV布局,并且一直在各个项目中努力由表格布局转向DIV+CSS布局。
????? 我们知道用iframe框架做后台基本上都不用考虑什么高度自适应问题,因为iframe自动会自适应浏览器高度。但是用DIV+CSS来做布局,自适应 浏览器高度就成了令人头疼的问题,因为即使你给DIV加上了height: 100%结果你还是发现根本不起作用,DIV依然只显示了其包含的内容的高度。难道是DIV对这样的高度设置根本就不认帐吗?其实不是的,只是因为DIV 的高度属性跟它的父元素的高度属性是有关系的,前面说到的高度设置不起作用,其实是因为它的父元素的高度没有做相应设置造成的。
????? 下面是Leeo 我写的一个完美DIV+CSS自适应高度后台框架,这里我之所以给它加上“完美”这两个字,是因为这个布局框架在IE5.5、IE6、IE7、IE8、Firefox、Chrome、Safari各浏览器下均表现完美,直接看代码吧:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>DIV布局——IT北瓜原创</title> <style type="text/css"> html,body{ font: 100% 微软雅黑, 宋体, 新宋体; margin: 0; /* 最好将 body 元素的边距和填充设置为 0 以覆盖不同的浏览器默认值 */ padding: 0; text-align: center; /* 在 IE 5* 浏览器中,这会将容器居中。文本随后将在 #container 选择器中设置为默认左对齐 */ color: #FFF; height: 100%; /*这里将高度设置为100%是这个布局实现自适应高度的关键,只有这里设置了高度,下面div的高度设置才起作用*/ background-color: #000; } #layout { width: 100%; height: 100%; margin: 0px auto; } #header { height: 13%; background-color: #09F; } #container { height: 82%; background-color: #CC3; } #container #sidebar { height: 100%; width: 20%; background-color: #C03; float: left; } #container #main { height: 100%; width: 80%; background-color: #CFC; float: left; } #footer { height: 5%; background-color: #930; } .clearfloat { /* 此类应当放在 div 或 break 元素上,而且该元素应当是完全包含浮动的容器关闭之前的最后一个元素 */ clear:both; height:0; font-size: 1px; line-height: 0px; } </style> </head> <body> <div id="layout"> <div id="header"> </div> <div id="container"> <div id="sidebar"> </div> <div id="main"> </div> <br class="clearfloat" /> </div> <div id="footer"> </div> </div> </body> </html>
实际效果请看这里DEMO