<!DOCTYPE html>声明下div高度100%的问题

在使用HTML代码创建网页,如果声明了<!DOCTYPE html>,并且在代码中有div设置了高度为100%,可能会出现显示不正常的情况。比如下面这个代码:

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        * {margin:0px;padding:0px;}
            div {
                background-color:red;
                width:200px;
                height:100%;
                }
    </style>
</head>
<body>
            <div></div>
</body>
</html>

显示的结果是:啥都木有! Why?

原因在于html5标准要求高度或宽度设置成百分比时,参照的是父标签。这句话理解了问题也就好办了。<div>标签的父标签是<body>,我们会天真的认为<body>标签的高度不需要定义,恰恰是因为<body>标签的高度没有定义所以才导致<div>显示不正常。在css里面添加一个参数 body {height:100%;},预览,结果是:还是木有!

为什么呢?<body>标签的高度虽然设置成100%了,但<body>标签他爹是<html>标签,这个标签也是需要定义高度的。所以最终要添加的参数是html,body {height:100%;}

请注意了,html和body之间是逗号,不是空格。说明这是一个多标签选择器,不是派生选择器。

时间: 2024-10-12 20:40:25

<!DOCTYPE html>声明下div高度100%的问题的相关文章

&lt;!DOCTYPE html&gt;声明下div高度100%

问题:在HTML页面中声明,页面中div属性设置100%页面显示不正常 body { max-width: 720px; margin: 0 auto; } .case { background-color: #68CDD5; height: 100%; } 页面中case为最大的div的class,设置了height:100%,页面并未正常显示,蓝色部分并未铺满整个页面. 原因:在HTML5标准要求高度或宽度设置成百分比时,参照的是父标签. 解决: 标签的父标签是,标签的高度也需要定义,很多人

IE6下DIV高度显示的Bug

E6下默认的字体尺寸大致在 12 - 14px 之间,当你试图定义一个高度小于这个默认值的 div 的时候, IE 会固执的认为这个层的高度不应该小于字体的行高.所以即使你用 height: 6px; 来定义了一个 div 的高度,实际在 IE 下显示的仍然是一个 12 px 左右高度的层. 要解决这个问题,可以强制定义该 div 的字体尺寸,或者定义 overflow 属性来限制 div 高度的自动调整.比如<div style="height: 6px; font: 0px Arial

ie6下div高度不能为0的解决办法

需要实现一个效果:点击关闭按钮时,div动态隐藏. jquery源码: 这个方法在谷歌 火狐及ie7以上都可以实现效果,但ie6下始终保持一个高度. 原因:ie始终默认div的最小高度为12px,即使你设置为0,但它依然默认一个字体的高度12px 解决办法:给当前需设置高度低于12px的div增加一个overflow:hidden属性.

&lt;转载&gt;如何解决子级用float浮动父级div高度不能自适应的问题

转载:http://www.kwstu.com/ArticleView/divcss_2013101582430202 解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法. 最外层的父级DIV不能自适应高度-不能随对象撑开没有高度 当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因. 如何解决父div对象自适应高度,方法有三种,接下来DIVCSS5逐一介绍. 1.首先我们先看HTML

CSS布局:div高度随窗口变化而变化(BUG会有滚动条)

<!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"><head><title>CSS布局:div高度随窗口变化而变化</

三种Div高度自适应的方法

让DIV高度自适应,这是在网页设计中常遇到的问题,为了给大家提供参考,这里提供3种div高度自适应的方法:一是JS法.二是背景图填充法.三是"补丁大法"(比较变态). 1.JS法 代码如下.原理:用JS判断左右DIV的高度,若不一致则设为一致.框架资源分享 Java代码   <div style="width:500px;background:#cccccc;height:0px;"> <div id="right" style

div高度随窗口变化而变化

<!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"><head><title>CSS布局:div高度随窗口变化而变化</

父div高度不能根据子div高度自动变化的解决方案

1 <div id="parent"> 2 <div id="content"> </div> 3 </div> 当content内容多时,即使parent设置了高度100%或auto,在不同浏览器下还是不能完好的自动伸展.解决方案如下: 1 <div id="parent"> 2 <div id="content"></div> 3 <

DIV布局-DIV高度不同自动换行并对齐《转》

每个div框内容有多有少,要支持div高度自适应,还要添加的div自动追加,并且换行还要保持每行对齐. 刚开始的效果: 给出了完美解决方案: 效果: 因为要支持每个div可删除,删除后,后面的div自动补齐,所以用table不显示(除非想自虐的人可以试下) 最终就是css修改了一下就搞定了... 1 <html> 2 <head> 3 <style> 4 .test_area{ 5 width:100%; 6 background-color:#FFFFFF; 7 mi