CSS - Overflow: Scroll; - Zawsze wyświetlać pionowy pasek przewijania?


224

Więc obecnie mam:

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

Jednak nie wierzę, że dla niektórych użytkowników będzie oczywiste, że jest tam więcej treści. Mogą przewijać stronę w dół, nie wiedząc, że mój div zawiera o wiele więcej treści. Używam wysokości 510px, aby odciąć trochę tekstu, więc na niektórych stronach wygląda na to, że jest więcej treści, ale to nie działa na wszystkie z nich.

Korzystam z komputera Mac, aw przeglądarce Chrome i Safari pionowy pasek przewijania będzie wyświetlany tylko wtedy, gdy mysz znajdzie się nad Div, a Ty będziesz aktywnie przewijać. Czy istnieje sposób, aby zawsze wyświetlał?


4
Uhm, czy możesz odtworzyć to dokładne zachowanie na jsfiddle ? Podany css powinien wymuszać obecność paska przewijania przez cały czas.
— sg3s

1
Tak, wygląda na to, że masz jakieś dziwactwa CSS, które powodują, że powinien zawsze wyświetlać pasek przewijania. Upewnij się, że div owijający ten jest poprawnie zaprojektowany.
— Shawn Steward

Prowadzę Lwa! Może to jest to? Otworzę maszynę wirtualną i zobaczę, jak to jest po stronie okien rzeczy ...
— Jambo,

1
Cholera, mój zły! Jest to funkcja w Lionie. Powinienem naprawdę przeczytać to, co kupuję, zanim to kupię ... Dzięki!
— Jambo,

Odpowiedzi:


386

Właśnie wpadłem na ten problem. OSx Lion ukrywa paski przewijania, gdy nie są używane, aby wyglądały bardziej „gładko”, ale jednocześnie pojawia się problem, który rozwiązałeś: ludzie czasami nie widzą, czy div ma funkcję przewijania, czy nie.

Poprawka: w twoim css obejmują -

::-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);
}

w razie potrzeby dostosuj wygląd. Źródło


6
Czy to powinno działać również na iPadzie z Safari? Jestem na iPadzie 2 z systemem iOS 6.1.3 i to nie działa.
— crmpicco,

6
Czy istnieje sposób, aby zastosować to tylko dla określonej klasy?
— futbolpal

2
Działało dla mnie dopiero po ustawieniu „overflow: auto” na kontenerze (w moim przypadku <ul>). Dzięki!
— Rob Campion

8
@futbolpal tak, wydaje się, że działa to w klasie; spróbuj .classname :: - webkit-scrollbar
— Chase

4
jak mogę ustawić to do pracy poziomej? pasek pokazuje przewijanie w pionie, ale nie przewijanie w poziomie
— BritishSam

14

Uwaga na iPadzie Safari, rozwiązanie NoviceCoding nie będzie działać, jeśli masz - webkit-overflow-scrolling: touch;gdzieś w twoim CSS. Rozwiązaniem jest usunięcie wszystkich wystąpień -webkit-overflow-scrolling: touch;lub wprowadzenie -webkit-overflow-scrolling: auto;rozwiązania NoviceCoding.


3
Czy można mieć oba w naszym css - webkit-overflow-scrolling: touch i paski przewijania?
— Julsy,

1

To będzie działać z iPadem w Safari na iOS 7.1.x z moich testów, ale nie jestem pewien co do iOS 6. Nie będzie to jednak działać w przeglądarce Firefox. Istnieje wtyczka jQuery, która ma być zgodna z różnymi przeglądarkami o nazwie jScrollPane .

Istnieje również zduplikowany post na przepełnieniu stosu, który zawiera kilka innych szczegółów.


5
Pamiętaj, że to pytanie zostało zadane 2 lata temu, zanim iOS6 istniał.
— OGHaza

webkit to tylko Safari Chrome. Będziesz musiał celować w silnik specyficzny dla Firefoksa
— TigerBear

-4

Spowoduje to, że paski przewijania będą zawsze wyświetlane, gdy w oknach jest zawartość, którą należy przewinąć, aby uzyskać dostęp, dotyczy to wszystkich okien i wszystkich aplikacji na komputerze Mac:

Uruchom Preferencje systemowe z  menu Apple Kliknij panel ustawień „Ogólne” Poszukaj „Pokaż paski przewijania” i zaznacz pole wyboru obok „Zawsze” Zamknij Preferencje systemowe po zakończeniu


18
Odpowiada to na pytanie, ale jest to poprawka po stronie klienta, a nie po stronie serwera. Więc to jest coś, co użytkownik strony musi zrobić, Stackoverflow to strona programistyczna, więc ludzie zwykle przychodzą tutaj, aby znaleźć rozwiązanie w kodzie, a nie sposób na zmianę ustawień przeglądarki.
— Eric Leschinski,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.