Jak wyłączyć pasek przewijania body
, ale czy pozostanie on widoczny na ekranie? Jako przykład patrz tryb teatralny Facebooka:Dezaktywuj przewijanie ciała, ale zachowaj pasek przewijania.
Odpowiedz
Jest to jedyny CSS będziesz ned zmusić przewijania:
html{
overflow-y: scroll;
}
paski przewijania zostanie wyłączone, jeśli zawartość jest mniejsza niż okno, więc trzeba będzie korzystać z niektórych skrypt do rozmiaru ciała być co najmniej 1px
mniej niż wysokość okna: [? Wystarczy wyłączyć przewijania nie ukrywać]
$("body").css({ "height" : ($(window).height() - 1) + 'px', "overflow": "hidden" });
Wykonuje to naprawdę dobrze. Jednak zamiast używać JS do definiowania wysokości ciała, uważam, że czystsze jest przejście z css. Przy odrobinie zabawy, znalazłem dwie opcje: Zastosuj pozycję: naprawiono; do tagu html wraz z przepełnieniem-y: scroll; Lub, jeśli używasz frameworka, które dodaje już przepełnienie: ukryte, do znacznika twojego ciała (zakładam, że większość osób, które przeszukały ten problem, mają go, ponieważ przepełnienie: ukryte, na ciele), możesz po prostu zdefiniować wysokość ciała za pomocą 100vh . Nie zapomnij usunąć tych styli, gdy modal jest zamknięty. – mizurnix
Dobry połów. Dodajecie własną odpowiedź, więc mogę ją przyjąć. – rcdmk
Dzięki, ale jeszcze nie skończyłem swojego rozwiązania :) Próbuję zastosować to do bardzo długiej strony, więc większość czasu użytkownicy najpierw przewiną, a następnie otworzą modal i wszystkie moje opcje spowodują, że pasek przewijania będzie nadal aktywny lub przewijam użytkownik górny, a następnie wyłącza pasek przewijania. Sprawdziłem, co robi facebook i używają ustalonej pozycji plus dodanie topu: xxxxx pikseli (w oparciu o to, jak daleko już przewinąłeś) na opakowaniu zawartości (w ich przypadku nie ma ciała). Kiedy skończę, mogę dodać to jako odpowiedź – mizurnix
overflow-y: scroll;
To powinno być to, czego szukasz.
nie będzie ** wyłączyć ** paska przewijania –
To po prostu pokazuje pasek przewijania zawsze, ale nie wyłącza przewijania, prawda? –
Och, myślałem, że chcesz zostawić pasek przewijania tam, nawet jeśli nie ma wystarczającej ilości treści na stronie. Jak chcesz przewinąć, jeśli zawartość jest większa niż ekran przeglądarki? – Chad
- 1. Wyłączyć przewijanie, ale zachować pasek przewijania CSS
- 2. Dezaktywuj przewijanie na zewnątrz podczas przewijania div
- 3. Dezaktywuj lub usuń pasek przewijania w HTML
- 4. Ukryj pasek przewijania, ale zachowaj możliwość przewijania za pomocą natywnego stylu.
- 5. Ukryj pasek przewijania z przepełnieniem: włącz przewijanie
- 6. Wyłączanie elastycznego przewijania ciała iOS i utrzymywania natywnego przewijania działającego
- 7. Pasek przewijania Textarea
- 8. CSS przepełnienie przewijanie i ukryty pasek przewijania (iOS)
- 9. przelewowy-y: Przewijanie nie wykazujące pasek przewijania w Chrome
- 10. UITableView Niestandardowy pasek przewijania
- 11. Wirtualne przewijanie przewijania nokautowego
- 12. Wysokość ciała 100% wyświetlanie pionowego paska przewijania
- 13. pozycja Css stałe do poziomego przewijania ale przewijanie w pionie
- 14. Jak zastosować pasek przewijania z kciukiem do szybkiego przewijania
- 15. Wyłącz Pasek przewijania
- 16. jqGrid poziomy pasek przewijania
- 17. Pasek przewijania firefox ukryty
- 18. html wybierz pasek przewijania
- 19. split(), ale zachowaj ogranicznik
- 20. Ukryj pasek przewijania HorizontalScrollView
- 21. Pasek przewijania CheckBoxList
- 22. Pasek przewijania na etykiecie
- 23. jqGrid pionowy pasek przewijania
- 24. Jak wyświetlić pasek przewijania Zawsze w UICollectionView
- 25. Ukryj pionowy pasek przewijania w poziomie ale nie pionowy
- 26. Dezaktywuj tryb "pełnoekranowy" w przeglądarce Chrome na Androida
- 27. Flexslider 100% szerokość tworzy poziomy pasek przewijania
- 28. Dezaktywuj UIScrollView zwalniając czasowo:
- 29. Chrome automatycznie ukrywa pionowy pasek przewijania
- 30. Zachowaj obraz w tle podczas przewijania za pomocą css
Możliwy duplikat (https://stackoverflow.com/questions/8701754/just-disable-scroll-not- hide-it) –