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

前端之家收集整理的这篇文章主要介绍了当DOCTYPE是XHTML 1.0 Strict时,为什么高度不等于它内部的高度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_2@<!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行高;它不能假设任何更小的尺寸.这就是你的高度声明被忽略的原因.

您可能想要使用此样式:

@H_403_2@line-height: 1px;

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

猜你在找的HTML相关文章