首页 > 代码库 > <!DOCTYPE html>声明下div高度100%的问题
<!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之间是逗号,不是空格。说明这是一个多标签选择器,不是派生选择器。
本文出自 “技术无疆界” 博客,请务必保留此出处http://it1611.blog.51cto.com/5474420/1909274
<!DOCTYPE html>声明下div高度100%的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。