css - 让 div 使用屏幕的所有剩余高度
问题描述
我需要让.content div 使用剩余的屏幕高度。我不知道.header的高度是多少-我不能使用 calc(100vh - headerHeight)
HTML结构
<html>
<body>
<div class="header">header</div>
<div class="content">content</div>
</body>
</html>
CSS
html, body {
height: 100%;
}
试过了
.content {
display: flex;
flex-grow: 1;
}
使用 100vh 不起作用,因为它产生了一些垂直滚动(具有.header的高度)
.content {
height: 100vh
}
它应该看起来像这样
+-------------------------------+
| header |
+-------------------------------+
| |
| |
| content |
| |
| |
+-------------------------------+
解决方案
将<body>
元素设置为您的弹性容器。
然后你可以设置.content
它能够增长。
html,
body {
height: 100%;
margin: 0;
}
body {
display: flex;
flex-direction: column;
}
.header {
background-color: lightgreen;
}
.content {
flex: 1 0 auto;
background-color: lightblue;
}
<div class="header">header</div>
<div class="content">content</div>
有关参考,请参阅flexbox 的基本概念。
推荐阅读
- javascript - 如何根据数据库中数据的时间戳创建多个计时器或根据时间戳或时间延迟数据库的弹出
- apache-kafka - 为什么窗口化现在适用于 Kafka Streams?
- google-bigquery - 如何通过 Firebase 中的某些用户事件过滤 BigQuery 中的保留计算
- php - 相似时如何返回数组
- powerbi - 如何在 Power BI dax 中编写 excel 公式
- ssrs-2008 - 在 SSRS 中连接负数和字符串
- python - How Can I download linux .whl file with dependencies on windows
- node.js - Map Data in MongoDB Aggregation pipeline
- c# - 如何将数据从 Mvc 控制器传递到 WebApi 控制器?
- sql - 如何“深度复制”行