Отключить полосу прокрутки - PullRequest
2 голосов
/ 20 ноября 2010

Если вы перейдете на http://google.com,, вы заметите, что на моем сайте отключена полоса прокрутки.

На моем сайте, чтобы не раздражать пользователя смещением страниц, я хочу использовать полосу прокрутки на каждой странице.Но если страница действительно не нуждается в прокрутке, отключите полосу прокрутки.

Это кажется тривиальной задачей, но я не могу найти решение.Возможно, я просто что-то упустил.

В любом случае, кто-нибудь может помочь с этой проблемой?Благодарю.

Ответы [ 4 ]

6 голосов
/ 20 ноября 2010

overflow: auto заставляет полосу прокрутки появляться при необходимости и исчезать, если нет Чтобы полоса прокрутки отображалась всегда, используйте «scroll»

body {
    overflow-y: scroll;
}
3 голосов
/ 20 ноября 2010

полоса прокрутки есть, но отключена в зависимости от того, какой браузер вы используете.Я использую FireFox на Mac, и в приведенном вами примере полоса прокрутки отсутствует.

К сожалению, это одна из неприятностей, с которыми я сталкиваюсь при разработке веб-сайтов.Я почти уверен, что <body style="overflow:hidden;"> (как ответили другие) не решает проблему.Если странице нужна полоса прокрутки, она добавит ее, но если нет, то браузер, который вы используете, определит, показывать или нет отключенную полосу прокрутки или ее нет вообще.Я не нашел решения этой проблемы.

Исправление

После рассмотрения ответа @ Стивена П я думаю, что он что-то задумал.Я не проверял это, но это имеет смысл.

3 голосов
/ 20 ноября 2010

Нет способа отключить полосу прокрутки с помощью javascript, но вы можете установить для свойства css overflow значение auto, чтобы при переполнении полоса прокрутки была доступна, а при отсутствии переполнения полоса прокруткиотключен.Применение этого к телу, скорее всего, будет лучшим решением:

body {
    overflow: auto;
}
1 голос
/ 26 августа 2015
 $(" $('body').css('overflow', 'hidden');");
...