Как скрыть полосу прокрутки css
Перейти к содержимому

Как скрыть полосу прокрутки css

  • автор:

Как отключить скролл css

Чтобы отключить скролл страницы в CSS, можно использовать свойство overflow для задания свойства hidden . Это свойство скрывает любой контент, который выходит за границы родительского элемента.

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

body  overflow: hidden; > 

Это скроет скролл на странице, но также отключит и возможность прокрутки страницы. Если вы хотите отключить скролл только для определенного элемента, вы можете применить этот стиль к этому элементу:

.container  overflow: hidden; > 

Здесь мы применяем свойство overflow: hidden к элементу с классом container . Это скроет все контент, который выходит за границы элемента с классом container .

Если вы хотите отключить только горизонтальный или вертикальный скролл, вы можете использовать свойства overflow-x и overflow-y . Например:

body  overflow-x: hidden; /* отключает горизонтальный скролл */ overflow-y: scroll; /* включает вертикальный скролл */ > 

В этом примере мы отключаем горизонтальный скролл и включаем только вертикальный скролл на странице.

Как убрать полосу прокрутки css

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

overflow: hidden; overflow-y: hidden; /*для вертикального*/ overflow-x: hidden; /*для горизонтального*/ 

overflow-y

Свойство overflow-y управляет отображением содержания блочного элемента по вертикали, если контент целиком не помещается и выходит за область сверху или снизу от блока.

Синтаксис

overflow-y: auto | hidden | scroll | visible

Значения

visible Отображается все содержание элемента, даже за пределами установленной высоты. hidden Отображается только область внутри элемента, остальное будет скрыто. scroll Всегда добавляется вертикальная полоса прокрутки. auto В зависимости от браузера. В основном, вертикальная полоса прокрутки добавляется только при необходимости.

HTML5 CSS2.1 CSS3 IE Cr Op Sa Fx

    overflow-y   
Duis te feugifacilisi

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Результат данного примера показан на рис. 1.

Применение свойства oveflow-y

Рис. 1. Применение свойства overflow-y

Объектная модель

[window.]document.getElementById(» elementID «).style.overflowY

Как убрать полосу прокрутки с сайта, но оставить возможность прокрутки

Курс по созданию сайтов

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

Казалось бы, элементарный технический нюанс, иногда встречающийся при создании сайтов. Однако, порывшись в поисковиках, был удивлён, что не нашёл простого решения этого вопроса на css.

Пришлось более глубже копнуть, и на данный момент пришёл к выводу, что кроссбраузерного решения на css не существует.

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

Упорядочив информацию, привожу ниже в все три способа скрытия полосы прокрутки: на CSS, с помощью HTML конструкций и с помощью JavaScript.

1-ый способ (css):

Ключевой момент — использование псевдоэлемента -webkit-scrollbar с шириной равной нулю.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-1 < width: 250px; height: 342px; margin: 0 25px; overflow-x: hidden; overflow-y: scroll; >.sposob-1-inside < width: 100%; margin: 0 0px; background: #008C00; >.sposob-1::-webkit-scrollbar

Первый способ скрытия полосы прокрутки будет работать только для браузеров на движке WebKit.


2-ой способ (HTML+CSS):

Ключевой момент — ширину внутреннего контейнера задаём больше на 20px относительно внешнего контейнера, что примерно равно ширине полосы прокрутки.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-2 < width: 250px; height: 342px; margin: 0 25px; overflow: hidden; >.sposob-2-outside < width: 270px; height: 100%; padding-right: 0px; overflow-x: hidden; overflow-y: scroll; >.sposob-2-inside

Говоря о скрытии скроллбара с помощью HTML-конструкций необходимо донести читателю, что кроме вышеприведённого способа, в котором полоса прокрутки скрывается за счёт увеличения свойства width относительно внешнего контейнера, существуют и другие подходы. Это и увеличение горизонтальных отступов и изменение свойств позиционирования и возможно другие. Здесь уже как мысль развернётся.



3-ий способ (JavaScript):

Ключевой момент — с помощью js-скрипта задаём правый отступ (padding-Right) внутреннего контейнера, что бы увеличить его ширину для скрытия полосы прокрутки.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-3 < width: 250px; height: 342px; margin: 0 25px; overflow: hidden; >.sposob-3-inside

JavaScript код будет следующим:

var parent = document.getElementById('spb-1'); var child = document.getElementById('spb-2'); child.style.paddingRight = child.offsetWidth - child.clientWidth + "px";

Третий способ — это по сути второй, только в данном случае мы увеличиваем ширину внутреннего контейнера относительно внешнего за счёт задания правого внутреннего отступа (padding-Right) с помощью js-скрипта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *