转载地址:https://blog.youkuaiyun.com/huitoukest/article/details/51375345
核心原理;
height:100%这个概念是子节点相对于父容器而言;所以要让此属性生效,必要的一点就是:父容器必须具有具体的高度信息;
直接在<body>的子节点(如div中)写height:100%是不会生效的,因为此时<body>的高度是不确定的,默认是auto;
方法一
给从根的父容器到子容器的所有容器都设置好百分比高度信息
比如:
-
<!DOCTYPE html>
-
<html lang="zh-cn" style="height:100%;width:100%;overflow:hidden;">
-
<head>
-
<meta charset="utf-8" />
-
<meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
-
<title>132
</title>
-
</head>
-
<body style="height:100%;width:100%;padding:0;margin: 0;">
-
-
<div style="height:100%;width:100%;background-color:#787878" >
-
-
</div>
-
</body>
-
</html>
这样从根的Html开始,到字的div结束,全部都具有百分比高度,这样,就都能够获取到高度信息;
方法二
给父容器设置具体的高度信息;
比如直接写死在样式中,或者用javascript来设置;
示例,用js使<body>得到高度,从而使其中的div全屏:
-
<!DOCTYPE html>
-
<html lang="zh-cn">
-
<head>
-
<meta charset="utf-8" />
-
<meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
-
<title>132
</title>
-
</head>
-
<body id="body" style="padding:0;margin: 0;">
-
<div style="height:100%;width:100%;background-color:#787878" >
-
-
</div>
-
</body>
-
<script type="text/javascript">
-
var screenHeight=
document.documentElement.clientHeight;
-
var screenWidth=
document.documentElement.clientWidth;
-
var body=
document.getElementById(
'body');
-
body.style.width=screenWidth+
"px";
-
body.style.height=screenHeight+
"px";
-
</script>
-
</html>
方法三
给父容器设置位置信息,让其得到高度信息;
示例,用css使body得到高度,从而使其中的div全屏:
-
<!DOCTYPE html>
-
<html lang="zh-cn">
-
<head>
-
<meta charset="utf-8" />
-
<meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;chrome=1" />
-
<title>132
</title>
-
</head>
-
<body style="position:absolute;top:0px;left:0px;right:0px;bottom:0px;padding:0;margin: 0;">
-
<div style="height:100%;width:100%;background-color:#787878" >
-
-
</div>
-
</body>
-
</html>
本文详细介绍了如何在CSS中实现全屏布局,包括为元素设置100%高度的三种方法:从根到子节点设置百分比高度,使用JavaScript动态设置高度,以及利用CSS定位属性。这些方法适用于不同的场景,帮助开发者解决常见的网页布局问题。
921

被折叠的 条评论
为什么被折叠?



