2009-07-20 25 views
2

我想有“B”一起被平均分配“一”是这样的:如何沿容器的所有宽度分配div?

[1  2   3  4] 

这将是很好,如果没有足够的空间,那么“A”块延伸到下一行。这里是html结构,我想,但它不是固定的,可以修改。

<html> 
    <head> 
     <style> 
      .a { width: 100%; border: 1px solid; float: left; } 
      .b { width: 100px; border: 1px solid red; float: left;} 
     </style> 
    </head> 
    <body> 
     <div class'a'> 
      <div class='b'>1</div> 
      <div class='b'>2</div> 
      <div class='b'>3</div> 
      <div class='b'>4</div> 
     </div> 
    </body> 
</html> 
+1

这里有相当不错的答案,一个非常类似的问题:http://stackoverflow.com/questions/674045/distribute-elements -evenly-using-css – peirix 2009-07-20 12:16:13

回答

0

我在想你想要实现这个正确的:

[[1 ][ 2 ][ 3 ][ 4]] 

基本上给这个(与“B”边框隐藏):

[1 2 3 4] 

但如果你有任意数量的固定宽度的内部物品,并且外部容器具有任意宽度?

我真的不知道有实现的一种方式,而不必深入到JavaScript :(

0

我想你正在寻找智能列,就像使用jQuery在这个example中描述的那样。您也可以尝试live demo

0

你在说什么是问题所在?当.a的宽度小于400像素时,包装效果无法正常工作?我假设.a的高度在这种情况下不符合第四个.b div的底部。您可能需要在.a内部的.b之后添加<br clear="all" />

0

也许最好的做法是制作一个内联块并将其宽度设置为100%。