【发布时间】:2020-06-17 17:03:13
【问题描述】:
这段代码运行良好
<!DOCTYPE html>
<html lang="en">
<head>
<style>
html {
width: 100%;
height: 100%;
background-color: red;
margin: 0px;
padding: 0px;
}
body {
background-color: chartreuse;
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
}
</style>
<title>Document</title>
</head>
<body>
</body>
</html>
但是当我尝试向身体的每一侧添加边距 5% 时,此代码不起作用.... 为什么会有垂直滚动条.... 高度 90% + 2 * 5% 边距 = 100% 高度 但是有滚动条.... 我认为当身体高度为 100% 时不会出现任何滚动条
<!DOCTYPE html>
<html lang="en">
<head>
<style>
html {
width: 100%;
height: 100%;
background-color: red;
margin: 0px;
padding: 0px;
}
body {
background-color: chartreuse;
width: 90%;
height: 90%;
padding: 0px;
margin: 5%;
}
</style>
<title>Document</title>
</head>
<body>
</body>
</html>
【问题讨论】:
-
这能回答你的问题吗? Make body have 100% of the browser height
-
这背后的原因可能是因为当您尝试向所有边添加边距时,它也会将边距添加到顶部。因此,将黄色 div 向下推。
-
垂直边距(顶部和底部)实际上是相对于元素的宽度,而不是高度。所以 90% + (2 * 5%) 不一定等于 100%。相反,使用 vh 单位:codepen.io/3rror404/pen/GRoNyOE
-
我希望 body square 适合中心而不需要任何页面移动。宽度侧确实注意到移动,它工作正常,但垂直侧不起作用,它的移动..对于宽度侧(90% 主体 +2(5% 边距))=100%......但是对于高度(90% body +2(5%)) != 100 .....为什么会有差异。
标签: html css visual-studio-code