指定-ms-viewport时Div溢出滚动?

时间:2012-12-21 19:55:55

标签: html5 css3 touch windows-phone-8 internet-explorer-10

处理在Windows Phone 8中查看的页面,我注意到一个奇怪的行为。当使用宽度或高度指定-ms-viewport时,用户似乎无法再使用溢出的触摸滚动行为:auto或-ms-touch-move:pan-y元素。

任何人遇到此行为,或者发现任何变通方法?

编辑:在WP8设备上访问此网址以获取repro:http://fiddle.jshell.net/Vk7SR/3/show/light

2 个答案:

答案 0 :(得分:19)

对于希望在Windows Phone设备上呈现反应式UI的许多应用程序,可能无法接受设置@-ms-viewport { width: auto }。允许您设置所需视口宽度的工作替代方法是设置以下CSS规则:

body, html { 
  -ms-overflow-style: none !important; 
}

我复制了原始的repro并使用此规则在https://gist.github.com/tjanczuk/7419485修复了它。您还可以使用http://htmlpreview.github.io/?https://gist.github.com/tjanczuk/7419485/raw/9a13fc9ad43f2103d8b9e23e25c7b0672a13385f/gistfile1.html

上的Windows Phone设备中的修复程序直接导航到HTML页面

答案 1 :(得分:1)

将宽度设置为自动(如下所示)而不是设备宽度似乎解决了滚动问题。我从您的页面(http://fiddle.jshell.net/Vk7SR/3/show/light/)获取了源代码,将其打包为WP8应用程序并尝试使用Lumia 920。

@-ms-viewport {
    width: auto;
}