您正在将HTML与XHTML混在一起。
通常使用height:100%声明来区分HTMLish语言的版本(在这种情况下为HTML或XHTML)。
不同的标记语言将表现不同。 我最喜欢的示例是height:100%。在浏览器中查看以下内容:
XHTML
table { height:100%;background:yellow; }
How tall is this? |
...并将其与以下内容进行比较:(请注意明显缺少height:100%声明)
HTML(怪异模式)
table { height:100%;background:yellow; }
How tall is this? |
您会注意到表格的高度完全不同,并且两个文档之间的唯一区别是标记的类型!
很好...现在,height:100%做什么?
但是,这并不能回答您的问题。 从技术上讲,XHTML文档的根元素使用height:100%属性:(根据Wikipedia)
XHTML文档的根元素必须是height:100%,并且必须包含
您会发现,了解XHTML不是HTML而是XML(一种截然不同的生物)非常重要。 (好吧,是一种不同的生物)height:100%属性只是文档需要为有效XML的特征之一。 为什么? 因为有人在使用该标准,所以是这样说的;)(您可以在Wikipedia上阅读有关XML名称空间的更多信息,但我省略了该信息,因为它实际上与您的问题无关!)
但是,为什么height:100%修复了CSS?
如果像这样构造文档...(如您在评论中所建议)
[...]
...正在修复您的文档,这使我相信您对CSS和HTML不太了解(没有冒犯性!),事实是,如果没有height:100%,它的行为正常,而对于
我提供的以上示例就是该问题的示例; 大多数人认为height:100%应该导致