当DOCTYPE是XHTML 1.0 Strict时,为什么高度不等于它内部的高度?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
</head>
<body>

<table width="100%" cellspacing="0" cellpadding="0">
    <tr>
        <td align="right" colspan="5">
            <span class="validationInline">*</span> 
            <span class="hint">required fields</span>
        </td>
    </tr>
    <tr>
        <td colspan="5" background="http://media.monster.com.hk/bgr_8.gif">
            <img src="/static/cleardot.gif" height="1" width="1" />
        </td>
    </tr>
</table>

</body>
</html>

可以在这里查看:
http://maishudi.com/tt2.html

我知道它是由DOCTYPE引起的,因为删除该部分会使其正常:

http://maishudi.com/tt.html

那有什么不对?我怎样才能让它与DOCTYPE一起工作?

解决方法

注意:这可能取决于浏览器.
块级元素(td,div等)的大小(如果未指定)将根据其内容占用的空间大小而不是所需的大小.如果指定,它将尝试相应地扩展,除非内容更大,在这种情况下它将根据需要扩展.

在您的示例中,单元格包含单个字符(非中断空格),其大小为单行.因此,块元素必须至少为1行高;它不能假设任何更小的尺寸.这就是你的高度声明被忽略的原因.

您可能想要使用此样式:

line-height: 1px;

这将行高设置为1px.行高不是元素,因此上述规则不适用.

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...