【发布时间】:2017-08-13 16:20:28
【问题描述】:
HTML
<div id="wrapper">
<table>
<tr>
<td class="left">left</td>
<td class="right"><span>this text is right-floated</span></td>
</tr>
<tr>
<td class="left">left</td>
<td class="right"><img src="foo.gif" height="100" width="400" /></td>
</tr>
<tr>
<td class="left">left</td>
<td class="right">THISTEXTISWAYTOOLONGTHISTEXTISWAYTOOLONGTHISTEXTISWAYTOOLONG</td>
</tr>
</table>
</div>
CSS
#wrapper
{
max-width:300px;
height:300px;
background-color:gray;
padding:5px;
}
td
{
padding:5px;
}
td.left
{
background-color:yellow;
}
td.right
{
background-color:green;
}
td.right span
{
float:right;
}
结果
我想要什么
请注意图像和文本如何导致溢出。此外,一些自然适合的内容是右浮动的,所以我不能只做overflow:hidden,否则自然适合的内容也会被隐藏。我还需要启用.left 来拉伸以适应其内容,即那里的内容的宽度范围可以为 10-150 像素,我希望该列不超过其最宽的内容。据我所知,没有表格这是不可能的,所以我使用表格而不是 table-layout:fixed 或 CSS 网格框架。
我希望 table 或 tr 上的 width:100% 或 max-width:100%; 组合可以解决问题,但我无法让它发挥作用。
【问题讨论】:
-
也许在您想要 300 像素的表格中没有 400 像素的图像会有所帮助?
-
根据以下回复,我认为如果您告诉我们您需要支持哪些浏览器和版本会有所帮助。
-
IE7+、FF 3.5+、Chrome、Safari 4+、移动 safari、android 2.1+ 股票浏览器和 WP7 (IE7-ish)
标签: css html-table overflow clipping