处理在Windows Phone 8中查看的页面,我注意到一个奇怪的行为。当使用宽度或高度指定-ms-viewport时,用户似乎无法再使用溢出的触摸滚动行为:auto或-ms-touch-move:pan-y元素。
任何人遇到此行为,或者发现任何变通方法?
编辑:在WP8设备上访问此网址以获取repro:http://fiddle.jshell.net/Vk7SR/3/show/light
答案 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;
}