100%高度不能在浏览器调整大小

问题描述:

我正在构建一个替代fullPage.js,这将更适合我的需要,但我有一些问题让浏览器被调整大小时留在100%高度的部分。100%高度不能在浏览器调整大小

我有5个部分应该都是height: 100%, width: 100%在任何时候。您应该一次只能在浏览器视口中获取一个部分。我使用连接到每个部分id的锚来做到这一点。然后bodyoverflow: hidden来防止垂直滚动。每个部分包含的图像也应该占用height: 100%,而width会自动确定以保持图像的纵横比。

此解决方案,当我第一次加载页面,但只要在浏览器开始被调整,其他部分变得可见,而img的有一个height: 100%变得比整个浏览器的高度小得多。这是CSS的限制,还是我做错了什么?

是否有javascript解决方案来检测浏览器视口,并将这些heightwidth值应用于一系列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

+0

我已经完成了您所提及的更改。我在'

'中加入了''并添加了CSS。我还更改了部分容器以使用vh&vw值而不是百分比。如果您看到我更新的codepen,只有第一部分按照您的预期工作。第一个('#people')下面的部分在调整大小时会再次混乱。查看更新[codepen](http://codepen.io/mtthwbckmn/pen/BKjJw)。 – 2014-08-28 02:37:58
+0

编辑:我现在看到它。给我一分钟 – Devin 2014-08-28 02:41:39

+0

Safari和Chrome。您必须单击左侧的最下面3个链接之一,然后调整codepen高度。它会打破并显示上面和下面的行。一旦你再次点击左边的链接,它会再次重新解释值并使其看起来很正常,但再一次,如果你调整了codepen的大小,它会中断。 – 2014-08-28 02:44:03