html - div 多个 float 向左拉伸(stretch)

标签 html width css-float

我有这样的事情:

<style>
 .putLeft
 {
   float: left;
 }
</style>

<table>
  <tr>
    <td>
      Some dynamic text
    </tr>
  </td>
  <tr>
    <td>
      <div id="div_1" class="putLeft">1<br/>2<br/>3<br/>4</div>
      <div id="div_2" class="putLeft">1<br/>2<br/>3<br/>4</div>
      <div id="div_3" class="putLeft">1<br/>2<br/>3<br/>4</div>
      <div id="div_4" class="putLeft">1<br/>2<br/>3<br/>4</div>
      <div id="div_n" class="putLeft">1<br/>2<br/>3<br/>4</div>
    </td>
  </tr>
</table>

div_1,div_2...div_n的内容是动态宽度的列。

我想要的是这样的:


|some text with dynamic width and can be very long text|
-------------------------------------------------------
|    div1   |      div2    |     div3    |     div4   |
|    1      |        2     |       2     |      4     |
|    1      |        2     |       2     |      4     |



But my result is something like this:

|some text with dynamic with and can be very long text|
-------------------------------------------------------
| div1 | div2 | div3 | div4 |
|  1   |   2  |   2  |   4  |
|  1   |   2  |   2  |   4  |

如何将“float: left”列拉伸(stretch)到最大宽度?

注意:整个例子没有固定的宽度。而且我无法制作表格来放置 div 的内容。

编辑:在 div 上插入了一些内容。我确实放了一些
来简化示例。但它会有其他内容。

最佳答案

一个 jQuery 例子是:

HTML:

<table>
  <tr>
    <td>
      Some dynamic text
    </tr>
  </td>
  <tr>
    <td id="row">
      <div id="div_1" class="putLeft"></div>
      <div id="div_2" class="putLeft"></div>
      <div id="div_3" class="putLeft"></div>
      <div id="div_4" class="putLeft"></div>
      <div id="div_n" class="putLeft"></div>
    </td>
  </tr>
</table>

CSS:

.putLeft
 {
   float: left;
    height: 20px;
    background: #ffcc33;
 }

table { width: 100% }

JS 与 jQuery

$(function() {
   var count = $('#row div').length;
   $('#row div').each( function(index, item) {
       $(item).css('width', Math.floor(100 / count) + '%');
   });
});

这是一个 jsFiddle:http://jsfiddle.net/qdnvq/

通过从外部 <td> 中检索以“px”为单位的宽度,这可以变得更加准确然后计算 div 的像素宽度,并可能使最后一个一样大以绕过四舍五入的缺失空间。您也可以使用绝对定位而不是 float 定位。

关于html - div 多个 float 向左拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939084/

相关文章:

javascript - 如何将地址链接转换为单击时更改页面的按钮?

html - 在列框的中间对齐图像

php - 使用哈希 URL 对 SEO 有影响吗?

html - 模态不渲染到屏幕中央

css - 对齐导航栏的 <UL>

css - 如何让 2 个 HTML block 元素(宽度不同) "inline"覆盖整个父元素?

iOS tableviewcell 宽度与 tableview 不同

Chrome 中的 JQuery 窗口宽度不正确

css - 使用 css 在 div 周围环绕文本(在文本中间)

html - 布局和 float div问题