html - 为什么html和body标签的高度不同
问题描述
只是想了解html标签的高度是如何确定的。(特别是在 chrome 中)我正在使用这个示例 html。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Hello</p>
</body>
</html>
我期望 html 的高度为 18px + margins(8px + 8px) = 34px。但实际高度是50px。是什么导致了额外的高度。
解决方案
您需要考虑边距折叠以找到高度。
在您的情况下,在您的情况下,您应用的默认边距p
等于1em
so 16px
。主体的边距也等于,8px
但由于16px
更大,所以它将获胜(由于边距崩溃)。所以html的高度等于
16px + 16px + height of p element
元素的高度p
取决于内容和font-size
。在你的情况下,18px
你有你的总数50px
body 的高度只会18px
因为边距折叠而导致所有边距都在外面。
更多详情:
如何确定块和内联元素的内容框的高度(获取有关高度计算的更多详细信息p
)
推荐阅读
- node.js - 如何只更新一次 MongoDB 文档字段?
- c# - 将 JSON 响应转换为自定义 C# 对象
- r - 添加独立于条形文本标签的子图编号
- c++ - 这在 C++ 中是未定义的吗?
- javascript - 如何防止在 react.js 中使用lazyLoad 重新渲染?
- git - Julia 1.6:不能在 Windows 上使用代理进行 git 克隆(但单独使用 git 可以)
- jmeter - 合并 JMeter csv 结果并绘制图表
- azure-devops - Azure 开发运维。生成唯一变量
- java - 通过 java & myphpadmin 从数据库中检索数据
- python - Python 向自定义 API 发布请求