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

CSS样式表
用css实现图片垂直居中的使用技巧
CSS List Grid Layout 图片垂直居中
IE6网页神奇BUG
Marquee高级用法实例代码
web标准知识——从p开始,循序渐进
web标准知识——用途相似的标签
html链接与文本标签们
当标题不能显示完整的解决方法
详解链接的rel与target区别
使css兼容IE8的小技巧
CSS 首字母大写代码
CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
css font缩写总结附实例
css下margin、padding、border、background和font缩写示例
用CSS来控制图片显示大小的代码
css下划线颜色一句话代码
css常见问题解决方法小结
relative absolute无法冲破的等级问题解决
div总是被select遮挡的解决方法
CSS文字截取功能实现代码

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


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

  首先给大家看一个图:

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

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

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

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

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

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

  下面放上全部代码:


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

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