Ошибка браузера Android? div переполнение прокрутки - PullRequest
30 голосов
/ 04 ноября 2011

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

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

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

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

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

Ответы [ 5 ]

25 голосов
/ 14 ноября 2012

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

Я бы рекомендовал другой подход: используйте 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;
}
8 голосов
/ 16 августа 2012

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

Для кроссплатформенности (а именно iOS <= 4.3.2) <a href="http://cubiq.org/iscroll-4" rel="noreferrer"> Cubiq iScroll - это простое в реализации решение.

3 голосов
/ 20 мая 2012

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

0 голосов
/ 31 июля 2014

Просто для полноты:

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

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

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

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

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

0 голосов
/ 31 августа 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...