首页 > 如何用html+css实现五列布局,其中第二、四列的宽度随浏览器窗口变化

如何用html+css实现五列布局,其中第二、四列的宽度随浏览器窗口变化

如图所示,前后灰色列宽度一定,为左右边距;中间三列为网页内容区,整体居中显示,其中橙色的两列分别相当于左边栏和右边栏,宽度会随浏览器窗口的变化而变化,蓝色列宽度则不变。
如何用html+css来实现?
楼下有人已经给了很好的回答,非常感谢!用的是css3的新特性。
我想知道如果用css2,应该怎么实现?


IE9以上及标准浏览器就不说了,应该是很容易实现的。
IE6-8我写了个简单方案,初步测试了OK,欢迎讨论。
http://jsfiddle.net/ggwbzz/h2Xbd/


http://jsfiddle.net/BgV78/


靠,看了上面的答案,尼玛这是个三栏布局啊,说什么五列布局搞得好高端的样子{{|└(>o< )┘|}}


题主的标题是五列布局,可是为什么我只看到了三列布局。左右边距按理说不等价于两列布局。


说什么五列布局搞得好高端的样子

左右边距按理说不等价于两列布局

完全同意


多放两个div不就很简单么


CSS2的实现,兼容IE6+:

http://jsfiddle.net/humphry/kynUL/

http://jsfiddle.net/humphry/kynUL/show/拖到地址栏看看吧。

操作的时候注意以下几点:

  1. .sidebar-inner-l.sidebar-inner-r的左右padding加起来等于.main的宽度。
  2. .main的right值等于负.sidebar-inner-l的右padding值
  3. 这种方式仅仅能让.main基于页面的中轴定位
  4. 没有考虑水平宽度过窄的情形,一般而言有个最小值(如980px)。

@NatureFeng 兄已经给出了完美答案,我再给题主介绍一篇博文帮助理解, @classicemi 兄的好文:

《使用 CSS3 Flexible Boxes 布局》


http://jsfiddle.net/PAzv5/

低耦合版本,易修改, IE6+.
没什么特殊要求和技巧, 顶多仅有BFC.

【热门文章】
【热门文章】