这个问题在这里已有答案:
我有一个容器宽度为100%的页面,所以它的整个屏幕宽度,我有几个网格结构的DIV,它们都有浮动:左边没有设置宽度,只有10px的边距 .
是否有一种方法,使用CSS或jQuery,让div填充整个宽度并证明自己适合间隙,因此边距会根据屏幕大小而变化 .
在这个帖子中查看thirtydot的答案,获得一个没有JavaScript的纯CSS / HTML解决方案,适用于所有浏览器 including IE 6 .
Fluid width with equally spaced DIVs
http://jsfiddle.net/thirtydot/EDp8R/
HTML:
<div id="container"> <div class="box1"></div> <div class="box2"></div> <div class="box3"></div> <div class="box4"></div> <span class="stretch"></span> </div>
CSS:
#container { border: 2px dashed #444; height: 125px; text-align: justify; -ms-text-justify: distribute-all-lines; text-justify: distribute-all-lines; /* just for demo */ min-width: 612px; } .box1, .box2, .box3, .box4 { width: 150px; height: 125px; vertical-align: top; display: inline-block; *display: inline; zoom: 1 } .stretch { width: 100%; display: inline-block; font-size: 0; line-height: 0 } .box1, .box3 { background: #ccc } .box2, .box4 { background: #0ff }
使用CSS3现在非常简单 .
UPDATE
添加了MS IE支持(信不信由你......) . 我不太确定FF的东西,因为Mozilla改变了一些东西 . 我没有那么多时间 . 所以如果有人可以纠正我......
UPDATE II
已将代码移至代码段
.container { border: 1px solid black; display: -webkit-box; -webkit-box-pack: justify; -webkit-box-align: center; display: -moz-box; -moz-box-pack: justify; -moz-box-align: center; display: -ms-flexbox; -ms-flex-pack: justify; -ms-flex-align: center; display: box; box-pack: justify; box-align: center; } .child { background-color: red; }
<div class="container"> <div class="child"> Some Content </div> <div class="child"> Some Content </div> <div class="child"> Some Content </div> </div>
如果以百分比形式指定所有维度(即宽度,边距,填充),则可以使用CSS执行此操作 .
或者,如果您想要特定的边距或填充,您可以使用jQuery
$(window).resize(function() { var $columns = $('.column'), numberOfColumns = $columns.length, marginAndPadding = 0, newColumnWidth = ($('#container').width() / numberOfColumns) - marginAndPadding, newColumnWidthString = newColumnWidth.toString() + "px"; $columns.css('width', newColumnWidthString); }).resize();
3 回答
在这个帖子中查看thirtydot的答案,获得一个没有JavaScript的纯CSS / HTML解决方案,适用于所有浏览器 including IE 6 .
Fluid width with equally spaced DIVs
http://jsfiddle.net/thirtydot/EDp8R/
HTML:
CSS:
使用CSS3现在非常简单 .
UPDATE
添加了MS IE支持(信不信由你......) . 我不太确定FF的东西,因为Mozilla改变了一些东西 . 我没有那么多时间 . 所以如果有人可以纠正我......
UPDATE II
已将代码移至代码段
如果以百分比形式指定所有维度(即宽度,边距,填充),则可以使用CSS执行此操作 .
或者,如果您想要特定的边距或填充,您可以使用jQuery