html - 展开高度CSS

标签 html css

我正在尝试将我的 body 标记扩展到整个浏览器高度以完全显示背景颜色。我知道有一些解决方案建议使用 100% 的 html 标签高度和 100% 高度的 body 标签或 100% 的最小高度。

我找到了一个解决方案(如下),它通过指定完整视口(viewport)的最小高度实现了相同的结果,并且适用于不同的浏览器。我可以将其用作替代解决方案吗?如果有的话,这个解决方案的缺点是什么?请提供一些支持证据。

body {
background-color:#ea7400;
height: 100%;
min-height: 100vh;
}

最佳答案

@Josethehose 提供了一条评论,指导我获取有关我的问题的有用信息。参见 min-height in vh vs % for body?

虽然我的解决方案确实有效,但我认为它不是最佳解决方案,因为它使用了不必要的代码。

解释: html 和 body 标签没有默认高度,可以相对于它们的父元素调整大小。 层次结构是 Viewport > HTML > Body。浏览器屏幕的实际大小是视口(viewport),因此为 html 标记指定 height: 100% 将确保它是其父元素或视口(viewport)的完整高度。 height: 100%可以和body标签结合实现父元素的全高或者继承自Viewport的html标签。

最佳解决方案是:

 html,
 body {
 height: 100%;
 }

关于html - 展开高度CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51406500/

相关文章:

php javascript 警报框必须单击 2 次才能显示

javascript - 单击“确定”后,jQuery 确认对话框继续提交表单

javascript - 是否有一种样式可以让图例将每个系列的样式设置为按钮?

css - 如何更改 Bootstrap 中第一列与左侧的距离?

php - 错误 : Column not found: 1054 Unknown column 'updated_at' in 'field list'

php - 如何从 mysql 填充下拉列表值并将其显示在 html 表的 td 中

JavaScript 表单脚本适用于 Chrome,但不适用于其他地方

javascript - 更新 css 文件并缩小它

JQuery Mobile jquery.mobile.structure-1.1.0.min.css 文件?

javascript - 切换而不是使用 URL 进行分页