Переполнение прокрутки Div при указании -ms-viewport?

Работая над страницей, которая просматривается в Windows Phone 8, я заметил странное поведение. Когда -ms-viewport указан с шириной или высотой, кажется, что пользователи больше не могут использовать режимы сенсорной прокрутки для элемента переполнения: auto или -ms-touch-move: pan-y.

Кто-нибудь сталкивался с таким поведением или знает о каких-либо обходных путях?

edit: посетите этот URL на устройстве WP8 для ознакомления: http://fiddle.jshell.net/Vk7SR/3/show/light

2 ответа

Решение

Настройка @-ms-viewport { width: auto } может быть неприемлемым для ряда приложений, которые стремятся представить реактивный интерфейс на устройствах Windows Phone. Рабочая альтернатива, которая позволяет вам установить желаемую ширину области просмотра, - установить следующее правило CSS:

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

Я скопировал оригинальную копию и исправил ее с помощью этого правила на https://gist.github.com/tjanczuk/7419485. Вы также можете перейти непосредственно к HTML-странице с исправлением с устройства Windows Phone по адресу http://htmlpreview.github.io/?https://gist.github.com/tjanczuk/7419485/raw/9a13fc9ad43f2103d8b9e23e25c7b0672a13385f/gistfile1.html

Установка ширины в авто (как показано ниже) вместо ширины устройства, кажется, решает проблему прокрутки. Я взял исходный код с вашей страницы ( http://fiddle.jshell.net/Vk7SR/3/show/light/), упаковал его как приложение WP8 и попробовал на Lumia 920.

@-ms-viewport {
    width: auto;
}
Другие вопросы по тегам