100%高度不能在浏览器调整大小
问题描述:
我正在构建一个替代fullPage.js,这将更适合我的需要,但我有一些问题让浏览器被调整大小时留在100%高度的部分。100%高度不能在浏览器调整大小
我有5个部分应该都是height: 100%, width: 100%
在任何时候。您应该一次只能在浏览器视口中获取一个部分。我使用连接到每个部分id
的锚来做到这一点。然后body
有overflow: hidden
来防止垂直滚动。每个部分包含的图像也应该占用height: 100%
,而width
会自动确定以保持图像的纵横比。
此解决方案,当我第一次加载页面,但只要在浏览器开始被调整,其他部分变得可见,而img
的有一个height: 100%
变得比整个浏览器的高度小得多。这是CSS的限制,还是我做错了什么?
是否有javascript解决方案来检测浏览器视口,并将这些height
和width
值应用于一系列id
'?
这是我的codepen。
答
添加到您的HEAD
部分
<meta name="viewport" content="width=device-width, initial-scale=1">
然后在你的CSS:
html, body{
height:100%;
}
@-ms-viewport{
width: device-width;
}
此外,我建议使用的VH(视高度)和大众汽车(视宽度)。 Read more here
我已经完成了您所提及的更改。我在'
'中加入了''并添加了CSS。我还更改了部分容器以使用vh&vw值而不是百分比。如果您看到我更新的codepen,只有第一部分按照您的预期工作。第一个('#people')下面的部分在调整大小时会再次混乱。查看更新[codepen](http://codepen.io/mtthwbckmn/pen/BKjJw)。 – 2014-08-28 02:37:58编辑:我现在看到它。给我一分钟 – Devin 2014-08-28 02:41:39
Safari和Chrome。您必须单击左侧的最下面3个链接之一,然后调整codepen高度。它会打破并显示上面和下面的行。一旦你再次点击左边的链接,它会再次重新解释值并使其看起来很正常,但再一次,如果你调整了codepen的大小,它会中断。 – 2014-08-28 02:44:03