Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS:表格单元格不';调整图像大小时不会折叠_Css - Fatal编程技术网

CSS:表格单元格不';调整图像大小时不会折叠

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%

我在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%;">&nbsp;</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>&nbsp;</td>
    </tr>
</table>

名称
缩写。
一些文本
基础知识
当图像大小为32px或更小时,所有内容都呈现良好。当图像较大时,它会按预期调整为32px,但表格单元格仍保持原始宽度。例如,如果原始图像为100x100,则图像大小将调整为32x32,但表格单元格的显示宽度为100px

我遗漏了什么,以便无论图像的原始大小如何,表格单元格都能以正确的宽度呈现

更新
我更新了原始标记以显示完整的表格布局。

我只能在IE8中重现您的问题:

要在IE8中修复它,您可以添加

请参见:


在评论中进一步讨论后,公认的解决方案是:

img
包装在
div
中,并给出
div
a
width
等于
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%。