【发布时间】:2015-08-09 12:48:30
【问题描述】:
我有一个 HTML 页面,它具有固定高度的页眉和页脚以及介于两者之间的元素。
我希望元素始终具有屏幕的总高度(不包括页眉和页脚)。例如,假设屏幕的总高度为 1000px,并且每个页眉/页脚的固定高度为 60px --> div 元素高度应为 880px。 现在,我面临的挑战是在不使用 JavaScript/JQuery 的情况下使其具有响应性(无论屏幕大小如何,行为都应如所述)。仅限 CSS。
我已经开始使用“身高:100%”,但不知道如何继续...
<html>
<head></head>
<body>
<header class="header">my header</header>
<div class="content">content</div>
<footer class="footer">my footer</footer>
</body>
</html>
http://codepen.io/anon/pen/QbGZgL
注意:IE 10 也应该支持...
我曾考虑过 flexbox,但不明白如何准确地使用它来满足我的需求。假设我在页面内容中有一些文本和一些图像。 我不希望屏幕较小时出现垂直滚动条,我希望缩小整个内容以填充可用高度。
CSS3 视口单位:vh/vw/vmin/vmax 能帮到我吗?
【问题讨论】:
-
使用媒体查询,高度 100% 是一个开始,但考虑小屏幕,调整页脚大小/当用户屏幕较小时将其向下推,这样页脚就不会占用所有内容的空间
-
vh 单元呢? snook.ca/archives/html_and_css/vm-vh-units? height: calc(100vh - 120px) 将是您的解决方案。