CSS - Переповнення: прокрутка; - Завжди показувати вертикальну смугу прокрутки?


225

Тому в даний час у мене є:

#div {
  position: relative;
  height: 510px;
  overflow-y: scroll;
}

Однак я не вірю, що деяким користувачам буде очевидно, що там є більше вмісту. Вони могли прокручувати сторінку вниз, не знаючи, що мій дів насправді містить набагато більше вмісту. Я використовую висоту 510px, так що вона обрізає текст, тому на деяких сторінках це виглядає так, що вмісту більше, але це працює не для всіх.

Я використовую Mac, а в Chrome і Safari вертикальна смуга прокрутки відображатиметься лише тоді, коли миша над Div і ви активно прокручуєте. Чи є спосіб, щоб це завжди було відображено?


4
Гм, чи можете ви відтворити цю точну поведінку на jsfiddle ? Наданий вами файл css повинен змусити постійно прокручувати панель прокрутки.
sg3s

1
Так, це здається, що у вас є деякі інші примхи CSS, щоб це спричинило, на цьому панелі прокрутки завжди повинно відображатися. Переконайтесь, що загортання цього Div стилізовано належним чином.
Шон Стюард

Я бігаю Левом! Може, це все? Я відкрию віртуальну машину і побачу, що це таке на вікні речей ...
Jambo

1
Чорт, моя погана! Це особливість у Лева. Я справді повинен прочитати, що я купую, перш ніж купувати ... Дякую, хлопці!
Джамбо

Відповіді:


386

Просто я сам наткнувся на цю проблему. OSx Lion приховує смуги прокрутки, не використовуючи їх, щоб зробити їх "стрункішими", але в той же час виникає проблема, з якою ви зверталися: люди іноді не можуть бачити, чи має div має функцію прокрутки чи ні.

Виправлення: у свій css включено -

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, .5);
  box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

за потреби налаштувати зовнішній вигляд. Джерело


6
Чи має це працювати і на iPad із Safari? Я на iPad 2, на якому працює iOS 6.1.3, і він не працює.
crmpicco

6
Чи є спосіб зробити так, щоб це застосовувалося лише для конкретного класу?
futbolpal

2
Працював для мене лише після того, як я встановив на контейнер "overflow: auto" (у моєму випадку <ul>). Дякую!
Роб Кемпіон

8
@futbolpal так, це, здається, працює в класі; спробуйте .classname :: - webkit-scrollbar
Chase

4
як я можу змусити це працювати горизонтально? відображається смуга вертикального прокрутки, але не горизонтальна
BritishSam

14

Зверніть увагу на iPad Safari, рішення NoviceCoding не працюватиме, якщо у вас є - webkit-overflow-scrolling: touch;десь у вашому CSS. Рішення - це або видалити всі виникнення, -webkit-overflow-scrolling: touch;або поставити -webkit-overflow-scrolling: auto;рішення NoviceCoding.


3
Чи можливо мати в нашому css - webkit-overflow-scrolling: touch та смуги прокрутки?
Julsy

1

Це буде працювати з iPad на Safari на iOS 7.1.x з мого тестування, але я не впевнений у iOS 6. Однак на Firefox це не працюватиме. Існує плагін jQuery, який має на меті бути перехресним браузером jScrollPane .

Крім того, тут є дублікат публікації на переповнюванні стека, який має деякі інші деталі.


5
Майте на увазі, що це питання було задано 2 роки тому, перш ніж iOS6 навіть існував.
OGHaza

webkit - це лише сафарі-хром. Вам потрібно буде націлитись на конкретний двигун Firefox
TigerBear

-4

Завдяки цьому смуги прокрутки завжди відображатимуться, коли у вікні є вміст, до якого потрібно прокрутити доступ, це стосується всіх вікон та всіх програм на Mac:

Запустіть системні налаштування у меню  Apple. Клацніть на панелі налаштувань «Загальні». Знайдіть «Показати смуги прокрутки» та виберіть радіобокс поруч із пунктом «Завжди». Завершіть налаштування системи, коли закінчите


18
Це відповідає на питання, начебто, але це виправлення на стороні клієнта, а не виправлення його на стороні сервера. Тож користувач веб-сторінки повинен робити, stackoverflow - це сайт програмування, тому люди зазвичай приходять сюди, щоб знайти рішення коду, а не спосіб для користувача змінити налаштування свого браузера.
Ерік Лещинський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.