2013-02-27 57 views
1

让我们看看这个表:事业部结构,相同汽车的宽度为每列

<table border="1"> 
<tr><td>1111</td><td>42342324</td><td>ffffffff</td></tr> 
<tr><td>11</td><td>442324</td><td>fdadasdfffffff</td></tr> 
</table> 

我需要做这样的事情,但与DIV元素(对不起,老板不会允许表)。真正的问题是,如何设置相同的宽度而不直接设置它?我的意思是,如果第一行更长,那么它将是实际宽度,否则是第二行。 最好不用javascript/jQuery黑客入侵。

+1

[你有什么尝试?](http://www.whathaveyoutried.com/)请参阅[问问建议](http://stackoverflow.com/questions/ask-advice),请。 – 2013-02-27 14:04:12

+5

规则1:永远不要对不被允许使用表格表示歉意 – George 2013-02-27 14:06:06

+0

如果你抱怨你的老板不让你使用表格;而且你没有意识到你的老板是那些显然知道这种东西的少数人之一,你可能需要修补一下你的技能http://blog.silktide.com/2011/04/why-you-shouldnt-use-tables-for-layout-ever/ – 2013-02-27 14:14:18

回答

1

我假设你想要的“列”在宽度连同内容成长?动态设置列中每个div的宽度?

我想不出一种方法来做到这一点与CSS,但一些divs jiggery pokery可能工作。

<style> 
    .table{ 
     border:1px solid black; 
     position:relative; 
    } 
    .column{ 
     border:1px solid red; 
     display:inline-block; 
    } 
    .cell{ 
     border:1px solid blue; 
     float:left; 
     clear:both; 
    } 
</style> 
    <div class="table"> 
     <div class="column"> 
      <div class"cell">11</div> 
      <div class"cell">ffff</div> 
     </div> 
     <div class="column"> 
      <div class"cell">1111</div> 
      <div class"cell">f</div> 
     </div> 
     <div class="column"> 
      <div class"cell">1</div> 
      <div class"cell">fff</div> 
     </div> 
    </div> 
0
<div id="main_div"> 
    <div id="nr1"> </div> 
    <div id="nr2"> </div> 
</div> 

,并使用CSS来风格:每个格

+0

如果你希望在“main_div”内部生成大量的div,并且你希望它们全都是相同的use类而不是id,并且将该类包装成一段时间 – Johny 2013-02-27 14:08:44

1

我想你想的现代浏览器检查flexbox,通过一段JavaScript后备对旧版浏览器的宽度,高度,边缘,位置。

http://css-tricks.com/using-flexbox/

Flexbox将是相当真棒,肯定是布局未来的一部分。在过去的几年中,语法已经发生了很大的变化,因此“旧”和“新”语法。但是,如果我们将旧的,新的和中间语法组合在一起,我们就可以获得体面的浏览器支持。特别是对于简单和可能是最常见的情况:为了控制电网

http://caniuse.com/flexbox显示相当不错的支持.. IE10,FF,Chrome浏览器,Safari浏览器,甚至是歌剧! *

*使用组合“新老”语法