gpt4 book ai didi

html - 折叠 TD 宽度 HTML

转载 作者:可可西里 更新时间:2023-11-01 13:33:24 27 4
gpt4 key购买 nike

我有 HTML,例如:

<html>
<body>
<table>
<tr>
<td>
<img style="width: 300px; height: 300px;"></img>
<img style="width: 300px; height: 300px;"></img>
</td>
<td>
hello world
</td>
</tr>
</table>
</body>
</html>

当页面/窗口的宽度减小时,第二张图片将被推到第一张图片下方。

我的问题是:为什么 TD 单元在图像堆叠时不会缩小到 300 宽度?它似乎保持得过大 - 导致图像和下一个单元格的文本之间出现难看的间隙。有什么方法可以根据空间大小将单元格的宽度强制为 600 或 300?

最佳答案

要了解示例中表格布局的行为,您需要查看CSS 用于直观地布置表格的表格宽度算法:

http://www.w3.org/TR/CSS21/tables.html#auto-table-layout

表格宽度算法查看构成每一列的单元格中的内容,确定列宽的最小值和最大值。然后算法会尝试考虑到任何指定的列宽,为每列分配足够的空间值、指定的表格宽度等。

在这种情况下,浏览器会尝试为第二列中的文本分配 600px(加上两张图片之间的空白)和一些宽度。

如果窗口足够宽,则所有内容都适合每个表格单元格中的一行。

但是,随着窗口宽度的缩小,算法会缩小每个列的宽度(这里的细节因浏览器而异,因为 CSS 规范没有规定详细的算法)。

该算法似乎按比例缩小每一列。对于第一列,这会强制图像以右侧的间隙换行。在这种情况下,算法不做第二遍重新分配多余的空间。该算法非常有效好吧,如果你在换行的话。但是,当内容是 300px 宽的图像时,结果是大(难看)的差距。

因此,该表按其应有的方式工作,但结果并不理想。

表格宽度算法试图通过最小化它的次数来提高效率循环遍历内容以确定宽度和高度。在这种情况下,一个更需要复杂的算法才能获得更令人愉快的结果,但它也会有点主观。

注意:要解决布局问题,您必须构建一个 JavaScript 函数来执行数学来计算列宽。我认为这可能很难做到万无一失。

关于html - 折叠 TD 宽度 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com