【问题标题】:Wrap long HTML tables to next line将长 HTML 表格包装到下一行
【发布时间】:2012-06-30 07:39:23
【问题描述】:

(我找到了thisthis,但它们是关于包装长词的)

我有一张这样的桌子:

<table id="myTable" width="100%" border="5" style="table-layout:fixed">
<tr>
<td><img src="photo1"></td>
<td><img src="photo2"></td>
<td><img src="photo3"></td>
<td><img src="photo4"></td>
<td><img src="photo5"></td>
<td><img src="photo6"></td>
</tr>
</table>

如果用户的屏幕宽度很小,我需要换行。 我需要包装列并获得这样的表格结果:

我添加了 style="table-layout:fixed" 但这使得表格宽度正好为 100%,但图像会自动拉伸到一半以适应屏幕宽度。

如何将列发送到下一行?

【问题讨论】:

  • 不要使用表格并在divs 上使用您需要的宽度的float: left;
  • 您不能将单元格换行。根据定义,一行始终是一行。这就是表格的工作原理……您必须使用其他方法。
  • 您可以使用表格,如这里所见stackoverflow.com/a/17159819/1180926

标签: html css html-table


【解决方案1】:

您需要决定的是下一行在向下流动到下一行时会发生什么行为。是否添加了一个新的孤立行,即:

#container {
    width: 95%;
    max-width: 646px;
    margin: 10px auto;
    border: 5px solid black;
    padding: 5px;
}
#container .row {
    border: 1px solid green;
    border-left: 0;
    border-top: none;
    margin: 0;
    padding: 0;
}
#container br {
    clear: both;
}
#container .block {
    border: 1px solid blue;
    border-bottom: 0;
    border-right: 0;
    float: left;
    width: 128px;
}

<div class="row">
    <div class="block">
        <img src="http://goo.gl/UohAz"/>
    </div>
    <div class="block">
        <img src="http://goo.gl/UohAz"/>
    </div>
    <div class="block">
        <img src="http://goo.gl/UohAz"/>
    </div>
    <div class="block">
        <img src="http://goo.gl/UohAz"/>
    </div>
    <div class="block">
        <img src="http://goo.gl/UohAz"/>
    </div>
     <br/>
</div>

http://jsfiddle.net/userdude/KFFgf/

你会看到溢出变成了一个新行,右边有剩余和空白。

如果你只想要一个“滚动”块,你可以:

http://jsfiddle.net/userdude/KFFgf/1/

行在流动中阻塞的地方。如有必要,您可以在其中放置 &lt;br/&gt; 标记以创建硬换行符。不确定这是否有帮助并且尚未跨浏览器进行测试,但我认为您的想法是这样。

【讨论】:

  • 请原谅我的无知杰瑞德。这是 HTML4 吗?
  • @jww 以上解决方案是 HTML4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-09
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多