跟html5没关系。
height为100%时,必须有父容器,然后自动设置高度为父容器的高度。
早期的版本里,table是支持100%高度的(现在要显式的在html里设置doctype来达到目的)。
那我应该怎么改,如果继续用html5的话(开头是<!DOCTYPE HTML>浏览器就认为是HTML5没错吧)?
@北在北方: 不建议使用老版本的doctype来达到高度100%的目的。
网络有一个方案,可以把div的高度填充满浏览器:
<html> <head> <style> body{height:100%; overflow:hidden; margin:0px; padding:0px;} .box {height:100%; background:#ff0000; position:absolute; width:100%;} </style> </head> <body> <div class="box"></div> </body> </html>
当然,还有别的方案也能达成这个目标。
@519740105: 经测试在firefox中,给body元素设定高度时,使用百分比的值没有效果。
@519740105: 为什么在开头声明<!DOCTYPE HTML>的时候需要position:absolute才能使height:100%起作用?能否解释一下.
@北在北方: 这个我也是度娘出来的。
有个方案可以不这样,好像是给div设置一个绝对大的margin,然后在处理,具体的忘记了,可能要到星期一才能找到那段代码了。
@519740105: 谢谢,你的回答很有效,最后一个问题
声明使用HTML5是不是仅仅需要<!DOCTYPE HTML>
还是说有什么更明确的声明方式?
@北在北方: 这样申明后能在支持浏览器能支持的最新HTML版本。
给body加个固定高度试试。