当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS设计多列多模块等高网页布局

CSS样式表
FireFox正常 IE错位的绝对定位元素
CSS 避免使用滤镜
footer 贴在底部的布局实现代码
li float后IE下有空格
css+div的一些易错点小结
CSS clip属性全知道
DIV+CSS 布局代码精简对SEO的影响
CSS 文字加阴影变3D效果演示
IE8 控件错位的解决方法
CSS实现 Firefox 和 IE 都支持的半透明效果
CSS Hack 浏览器兼容整理
css gorush 状态栏不显示链接地址
用css制作星级评分
CSS教程:CSS背景全攻略
CSS教程:面向对象CSS FAQ
CSS教程:驯服CSS选择器
CSS幻灯片:CSS3的新属性
用CSS实现网页图片的预加载
包括IE8兼容问题的汇总
CSS实例教程:网页布局中的图文列表

CSS样式表 中的 CSS设计多列多模块等高网页布局


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 187 ::
收藏到网摘: n/a

  首先给大家看一个图:

  以前我们在布局这种需要多列多模块,多列等高,一般会选择横着切一张背景图来进行模拟,这个也是没有办法的办法。

  我们知道单纯的两列等高我们可以利用正内边距加负外边距来实现。padding-bottom:32767px; margin-bottom:-32767px;

  这个方法的原理是事先通过正内边距来使其拥有足够高的布局控件,然后通过负外边距来使得其的位置不变。通过给父元素溢出隐藏,我们可以隐藏掉事先占据的足够高的空间。由两列实际的内容高度来决定整个父元素的高度,从而实现了等高。

  习惯思维上,我们都是多列等高,然后把这几列都浮动。现在我们变换一下思路,直接使用不浮动的一列的时候,情况会怎样,我们发现,当一列不浮动搭配正内边距加负外边距,父元素溢出隐藏,它的高度跟还是由内在元素来决定,但是通过web developer toolbar我们可以看到它实际上已经占据了足够的高度空间。

  同样的道理,定位也遵循这个规则。我们可以把两侧边框使用绝对定位来固定到两侧,因为绝对定位是不占布局空间的,那么我们需要一个文档流来对父元素进行占位。基本上父元素有多高,就显示绝对定位的元素多少内容,实际上这也就实现了一个等高。

  知道了这个表现原理,那么我们上文的布局也就不难了,只需要把每列最后一个模块再进行正内边距加负外边距来进行空间占位就可以实现了!至于下边框,实际上另外一个容器从底下进行拼装实现的~!

  下面放上全部代码:


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

  上述代码在IE6,IE7,FIREFOX里皆能正常显示,但是在IE8 BETA1里面,似乎必须配合浮动,正内边距跟负外边距的多余空间才能被隐藏,希望正式版的IE8会修复这一点。如果想在IE8 BETA1里面正常显示,请大家把最后一个模块也进行浮动即可~!在此就不做演示了!