布局divs在css中,如HTML表格中的表格单元格

今天又一次我偶然发现了一个我总是用css布局的问题。 我想在一个水平行中有5个div。 比方说,他们的宽度应该是:

  • 1:60 px,
  • 2:30%,
  • 3:40px,
  • 4:*
  • 5:100px

其中*代表“填补剩余空间”。 在过去,这是我们铺设宽度表的方式。 现在由于可访问性原因,html表被禁止布局。 这只是一个例子。 我正在寻找一般的解决方案。

有人知道一个生成器,一个轻量级的 JavaScript解决方案(可以是一个jQuery插件),一个教程,一本书或一个魔术师,它可以帮助我现在和永远解决这个问题吗?

尽管基于javascript的解决方案是可能的,但是非脚本解决方案将是首选。

你可以使用display:table来创建这个效果,我做了一个快速的小提琴

这使得单个div的行为像表格单元格,而该section是表格,我使用了一个部分只是为了拥有更清晰的代码, div也可以工作。

如果窗口大小太小,您会注意到表格单元格比指定的小,这是因为表格的默认行为。 要解决这个问题,只需添加一个最小宽度(与宽度相同的值)

http://jsfiddle.net/lnplnp/bFrmD/

 #div1 { width: 60px; } #div2 { width: 30%; } #div3 { width: 40px; } #div4 { } #div5 { width: 100px; } .layout { display:table; } .cell { display: table-cell; }​ 
   DIV LIKE TABLE   
1
2
3
4
5

交叉你的手指! 有了最近的broswers,你现在可以做到!