当我使用没有DOCTYPE
的超文本标记语言时,我的超文本标记语言页面Height=100%
正常工作。
但是当我使用DOCTYPE
时,高度不能正常工作...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<table cellpadding="0" cellspacing="0" width="11" height ="100%">
<tr>
<td height="100%" bgcolor="#008000"> </td>
</tr>
</table>
</body>
如何解决这个问题?
发布于 2009-12-28 00:51:18
添加DOCTYPE
会将您从quirks mode切换到标准模式。在标准模式下,html
和body
元素不会默认为视口(浏览器窗口)大小的100%;相反,它们的大小只是为了包含它们的子级所需的大小。100%的table
高度表示包含元素的100%,但这只是包含表内容所需的大小。Quirks模式是对旧浏览器行为的模拟,其中html
和body
元素填充了视口。
要解决此问题,您只需将以下内容添加到您的文档:
<style>
html, body { height: 100% }
</style>
发布于 2009-12-28 00:34:17
当你说“height=100%”的时候,你必须思考“百分之百的什么?”它是table元素的父元素,也就是body。但是身体有多高呢?
要执行所需操作,请在CSS中添加以下内容: html,body{height:100%}
发布于 2017-06-16 11:40:25
就像每个人说的,解决方案的主要部分是
html, body{'height=100%'}
但将每个祖先的高度设置为100%也非常重要。例如,如果您的代码如下
<body>
<div id="firstdiv">
<div id="scnddiv">
lets say this is the div you want to make 100%
</div>
</div>
</body>
如果#scnddiv是你想要100%创建的div,那么不仅html和body要100%创建,#firstdiv也要100%创建。所以它看起来就像这样
html, body, #firstdiv {height:100%}
然后,您可以将该div中的任何内容设置为100%。
我希望这能帮到你。
https://stackoverflow.com/questions/1966300
复制相似问题