Подтвердить что ты не робот

Ошибка браузера Android? прокрутка переполнения div

Можете ли вы сделать содержимое переполнения div прокручиваемым в браузере Android?

Он прокручивается во всех других современных браузерах.

В iOS он прокручивается - однако он не показывает полосы прокрутки - но он прокручивается с помощью перетаскивания.

Простой пример: http://jsfiddle.net/KPuW5/1/embedded/result/

Будет ли это исправлено в ближайшее время?

4b9b3361

Ответ 1

Android 3.0 и выше поддерживают overflow:scroll, on < 3.0 это другая история. У вас может быть некоторый успех с полиполнами, такими как iScroll, однако это действительно дорого. Это сложно реализовать на сайтах со сложными макетами, и вам необходимо вызвать метод каждый раз, когда изменяется содержимое вашего сайта. Использование памяти также является проблемой: на уже недостаточно мощных устройствах производительность может задерживаться из-за этих видов полиполнений.

Я бы порекомендовал другой подход: используйте Modernizr для обнаружения поддержки прокрутки переполнения, добавьте класс в тэг html и используйте это, чтобы переписать свой CSS, чтобы страницы прокручивали "обычно", а не в поле.

/* For browsers that support overflow scrolling */
#div {
    height: 400px;
    overflow: auto;
}

/* And for browsers that don't */
html.no-overflowscrolling #div {
    height: auto;
}

Ответ 2

overflow: scroll; поддерживается как Android 3 (API 11).

Для кросс-платформенной (а именно iOS <= 4.3.2) Cubiq iScroll - это простое в использовании решение.

Ответ 3

Вы можете попробовать touchscoll.js для прокручиваемых элементов div

Ответ 4

Только для полноты:

Полосы прокрутки на самом деле есть в Android 2.3, но они очень глючные, и по умолчанию они имеют ширину 0, поэтому они невидимы.

Вы можете сделать их видимыми, добавив стиль:

::-webkit-scrollbar {
    width: 30px;
}
::-webkit-scrollbar-track {
    background-color: $lightestgrey;
}
::-webkit-scrollbar-thumb {
    background-color: $lightgrey;
}

Однако элемент большого пальца не перетаскивается, вы можете только перемещать его, нажимая дорожку внизу или над ней.

Кроме того, эти стили изменят внешний вид ваших полос прокрутки во всех браузерах webkit, поэтому лучше всего добавить класс, который применим только к Android 2.3.

Ответ 5

Вы можете сделать прокрутку DIV в Android, определив стили полосы прокрутки в вашем CSS. В этой статье показано, как это сделать: http://css-tricks.com/custom-scrollbars-in-webkit/