CSS:表格单元格不';调整图像大小时不会折叠
我在HTML中定义了一个表,如下所示:CSS:表格单元格不';调整图像大小时不会折叠,css,Css,我在HTML中定义了一个表,如下所示: <table border="0" cellpadding="0" cellspacing="0" style="width:100%;"> <tr style="font-size:small;"> <th colspan="2">Name</th> <th>Abbr.</th> <th style="width:100%
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;">
<tr style="font-size:small;">
<th colspan="2">Name</th>
<th>Abbr.</th>
<th style="width:100%;"> </th>
</tr>
<tr>
<td style="padding:5px;text-align:centered;width:48px;">
<img src="..." style="max-width:32px" />
</td>
<td style="text-align:left;white-space:nowrap;">Some Text</td>
<td>ABC</td>
<td> </td>
</tr>
</table>
名称
缩写。
一些文本
基础知识
当图像大小为32px或更小时,所有内容都呈现良好。当图像较大时,它会按预期调整为32px,但表格单元格仍保持原始宽度。例如,如果原始图像为100x100,则图像大小将调整为32x32,但表格单元格的显示宽度为100px
我遗漏了什么,以便无论图像的原始大小如何,表格单元格都能以正确的宽度呈现
更新
我更新了原始标记以显示完整的表格布局。我只能在IE8中重现您的问题: 要在IE8中修复它,您可以添加 请参见:
在评论中进一步讨论后,公认的解决方案是: 将
img
包装在div
中,并给出
div
awidth
等于
img
。见:
此页面在Google Chrome中显示正确,但在IE中显示不正确 通常的原因是没有设置doctype,当我添加它时,我得到了正确的显示 例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body>
<table border='0' cellpadding='0' cellspacing='0' style='width:100%;'>
<tr>
<td style='padding:5px;text-align:center;width:48px;'>
<img src='...' style='max-width:32px;' />
</td>
<td style='padding:5px;white-space:nowrap;'>Some text</td>
</tr>
</table>
</body>
</html>
一些文本
有关更多信息,请参阅
希望这有帮助:)您正在测试哪个浏览器?我是second@thirtydot-刚刚用Firefox 4和IE9进行了尝试,但无法重新创建。我正在使用IE8。你是正确的,Firefox或Chrome没有出现这个问题。我的标记中有以下内容:正如我上面提到的,你是正确的,页面在Chrome中呈现正确。问题似乎仅限于IE 8。出于某种原因,当我在表格样式中添加“table layout:fixed”时,前两列是否重叠?知道为什么吗?是的,我已经更新了JSFIDLE,它也在做同样的事情。似乎具有“宽度:100%;”的元素是重叠的根本原因。但是,我想让最后一列“推”前面的列,使最后一列“填充”右边剩余的空间…你能给我一个指向你编辑的版本的链接,这样我也可以看到
“前两列重叠”
?这是因为你的
<代码>表格布局:fixed基本上意味着“完全使用我指定的宽度”,并且你告诉一列占用所有空间。删除后:是的,但请注意前三列有额外的宽度。我需要它们折叠到最小尺寸(包括第一列,它应该有一个固定的宽度)。目前,表格呈现时,每列占宽度的25%。