-
CSS布局自适应高度解决方法
2006-03-16
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://forest.blogbus.com/logs/2074565.html
这是一个比较典型的三行二列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,按一般的做法,大多采用背景图填充、加JS脚本的方法使列的高度相同,本文要介绍的是采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题。
先看代码:-----------------------------------------------
#wrap{
overflow: hidden;
}
#sideleft, #sideright{
padding-bottom: 32767px;
margin-bottom: -32767px;
}
-----------------------------------------------实现原理:
块元素必须包含在一个容器里。
应用overflow: hidden 到容器里的元素。
应用 padding-bottom(足够大的值)到列的块元素 。
应用margin-bottom(足够大的值)到列的块元素。
padding-bottom将列拉长变的一样高,而负的margin-bottom又使其回到底部开始的位置,同时,溢出部分隐藏掉了。兼容各浏览器
IE Mac 5
得到高度正确,所以要过滤掉上面的代码。
/*\*/
#sideleft, #sideright{
padding-bottom: 32767px;
margin-bottom: -32767px;
}
/**/
Opera
1. Opera7.0-7.2不能正确清除溢出部分,所以要加:
/* easy clearing */
#wrap:after
{
content: '[DO NOT LEAVE IT IS NOT REAL]';
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#wrap
{
display: inline-block;
}
/*\*/
#wrap
{
display: block;
}
/* end easy clearing */
/*\*/随机文章:
绕过IE6支持IE5的别一种写法-IE也支持> 2006-03-10CSS中expression使用简介 2006-02-27[转]两列一边宽度固定,另一边宽度自适应布局 2007-05-26[原]一行内文本溢出的处理 2007-04-26[分享]DIV内容垂直居中 2007-01-22
收藏到:Del.icio.us






评论
有没有高手告诉我为什么或相关的知识。