我有一个容器,其中有一个动态数量的div。我希望所有的div都适合一行而不包装,以便每个div具有相同的宽度。 div的数量和屏幕的大小都可以改变。我希望有一个css解决方案。
在this fiddle中,灰色框应填充三个大小相等的红色,绿色和蓝色矩形。
我试过这个无济于事。
#container {
width: 400px;
border: 2px solid #CCCCCC;
}
#container div {
width: auto;
display: inline-block;
height: 200px;
}
感谢您提供的任何帮助!
答案 0 :(得分:7)
使你的html分隔符表现得像表集。表格分隔符(<td>
)默认均匀分布。
HTML
<div class="table-div" style="width:100%">
<div class="tr-div">
<div class="td-div">td-div 1a</div>
<div class="td-div">td-div 2a</div>
<div class="td-div">td-div 3a</div>
<div class="td-div">td-div 3b</div>
</div>
<div class="tr-div">
<div class="td-div">td-div 1b</div>
<div class="td-div">td-div 2b</div>
<div class="td-div">td-div 3b</div>
<div class="td-div">td-div 3b</div>
</div>
</div>
CSS
.table-div{display:table} /* you can add table-layout:fixed; to suit your needs ([Yoshi][1])*/
.tr-div{display:table-row}
.td-div{display:table-cell;border:1px solid silver}
答案 1 :(得分:0)
如果我理解正确,无论容器的大小如何,你都希望div具有相同的宽度并且它们能够满足所有容器的需要吗?
如果是这种情况,很简单,你将100除以包含在容器中的div数,以获得每个div的正确百分比宽度。
这里:http://jsfiddle.net/XnC6k/3/