首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用<!DOCTYPE>?时,"Height=100%“在html中不起作用。

使用<!DOCTYPE>?时,"Height=100%“在html中不起作用。
EN

Stack Overflow用户
提问于 2009-12-28 00:19:48
回答 3查看 16.4K关注 0票数 28

当我使用没有DOCTYPE的超文本标记语言时,我的超文本标记语言页面Height=100%正常工作。

但是当我使用DOCTYPE时,高度不能正常工作...

代码语言:javascript
复制
<!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">&nbsp;</td>
    </tr>
</table>

</body>

如何解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2009-12-28 00:51:18

添加DOCTYPE会将您从quirks mode切换到标准模式。在标准模式下,htmlbody元素不会默认为视口(浏览器窗口)大小的100%;相反,它们的大小只是为了包含它们的子级所需的大小。100%的table高度表示包含元素的100%,但这只是包含表内容所需的大小。Quirks模式是对旧浏览器行为的模拟,其中htmlbody元素填充了视口。

要解决此问题,您只需将以下内容添加到您的文档:

代码语言:javascript
复制
<style>
  html, body { height: 100% }
</style>
票数 50
EN

Stack Overflow用户

发布于 2009-12-28 00:34:17

当你说“height=100%”的时候,你必须思考“百分之百的什么?”它是table元素的父元素,也就是body。但是身体有多高呢?

要执行所需操作,请在CSS中添加以下内容: html,body{height:100%}

票数 3
EN

Stack Overflow用户

发布于 2017-06-16 11:40:25

就像每个人说的,解决方案的主要部分是

html, body{'height=100%'}

但将每个祖先的高度设置为100%也非常重要。例如,如果您的代码如下

代码语言:javascript
复制
<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%创建。所以它看起来就像这样

代码语言:javascript
复制
html, body, #firstdiv {height:100%}

然后,您可以将该div中的任何内容设置为100%。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1966300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档