Содержание

overflow — CSS | MDN

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

Использование свойства overflow со значениями, отличными от visible, (значение, принятое по умолчанию), создаёт новый блочный контекст форматирования. Это технически необходимо, поскольку если бы float пересекался с элементом прокрутки, это потребовало бы обеспечить обтекание содержимого прокручиваемого элемента вокруг вторгающихся float’ов. Обтекание при этом было бы необходимо производить после каждого шага прокрутки заново, что привело бы к заметному замедлению прокрутки. Обратите внимание, что при программной установке атрибута scrollTop для соответствующего HTML-элемента, даже если overflow имеет значение hidden, элемент, возможно, придется прокрутить.

Значения

visible
По умолчанию.
Содержимое не обрезается, может отображаться снаружи блока, в котором оно расположено.
hidden
Контет обрезается, без предоставления прокрутки.
scroll
Содержимое обрезается и браузер использует элементы прокрутки, не важно было ли обрезано содержимое или нет. Это избегает многих проблем касательно появления прокруток и их исчезновения в динамичной среде. Принтеры могу печатать переполненное содержимое.
auto
Зависит от агента пользователя. Браузеры такие как Firefox предоставляют прокрутку, если содержимое переполняет блок.
Расширения Mozilla
-moz-scrollbars-none
Используйте overflow:hidden.
-moz-scrollbars-horizontal
Использование overflow-x и overflow-y предпочтительнее.
-moz-scrollbars-vertical
Использование overflow-x и overflow-y предпочтительнее.
-moz-hidden-unscrollable
Главным образом предназначен для внутреннего использования и для тем. Отключает прокрутку XML root элементов и <html>
, <body> клавишами со стрелками и колесом мыши.
p {
     width: 12em;
     height: 6em;
     border: dotted;
     overflow: visible; 
}

visible (default)
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

p { overflow: hidden; /* полосы прокрутки не предоставляются */ }

overflow: hidden
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

p { overflow: scroll; /* всегда показывать полосы прокрутки */ }

overflow: scroll
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

p { overflow: auto; /* добавить полосы прокрутки, если это необходимо */ }

overflow: auto
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

BCD tables only load in the browser

Firefox (Gecko) Примечания

Из-за Firefox 3.6 (Gecko 1.9.2), свойство overflow неверно применяется к элементам table-group (<thead> , <tbody> , <tfoot>). Это поведение будет исправлено в следующих версиях.

Internet Explorer Примечания

Internet Explorer 4 — 6 увеличивает элемент с overflow:visible (значение по умолчанию), чтобы заполнить содержимое в нём. height/width действуют подобно min-height/min-width.

overflow | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
6.0+8.0+1.0+
3.5+
1.0+3.61.0+1.0+1.0+

Краткая информация

Значение по умолчаниюvisible
НаследуетсяНет
ПрименяетсяК блочным элементам
Процентная записьНеприменима
Ссылка на спецификациюhttp://www. w3.org/TR/CSS21/visufx.html#propdef-overflow

Версии CSS

CSS 1CSS 2CSS 2.1CSS 3

Описание

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

Синтаксис

overflow: auto | hidden | scroll | visible | inherit

Значения

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

Пример

HTML5CSS2.1IECrOpSaFx

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>overflow</title> <style> . layer { overflow: scroll; /* Добавляем полосы прокрутки */ width: 300px; /* Ширина блока */ height: 150px; /* Высота блока */ padding: 5px; /* Поля вокруг текста */ border: solid 1px black; /* Параметры рамки */ } </style> </head> <body> <div> <h3>Duis te feugifacilisi</h3> <p>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.</p> </div> </body> </html>

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

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

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

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

Браузеры

Internet Explorer до версии 7.0 включительно:

  • не поддерживает значение inherit;
  • относительно позиционированные дочерние элементы, значения overflow у которых заданы как auto или scroll ведут себя словно у них задано position: fixed.

Internet Explorer 8:

  • Сочетание overflow со значением scroll со свойствами max-height и float может привести к пропаданию элементов веб-страницы, в браузере выводится пустой экран.
  • Для блока, у которого указаны свойства float и overflow со значением scroll, игнорируется ширина, заданная через свойство max-width.
  • Высота блока с горизонтальной полосой прокрутки увеличивается на высоту скролбара, хотя по спецификации CSS заданные размеры должны включать в себя и полосы прокрутки.
Firefox 3.6 некорректно применяет overflow к группам ячеек таблицы (<thead>, <tbody>, <tfoot>).

overflow-y scroll всегда показывает даже это не переполнение



Я делаю «Scroll JQuery Mobile Panel Separately From Content», то, что я сделал

Я применяю этот css для достижения того, что я делаю, но проблема в том, что

overflow-y: scroll ==> всегда показывать даже его содержимое не переполняется.

Есть ли у вас какие-либо идеи по этому поводу, Заранее благодарю.

.ui-panel-inner {
    position: absolute;
    top: 1px;
    left: 0;
    right: 0;
    bottom: 0px;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
}
css jquery-mobile
Поделиться Источник Jongz Puangput     13 октября 2013 в 15:57

2 ответа


  • Создание главной полосы прокрутки всегда видимой-без scroll

    У меня есть раздел текста, который я хочу всегда показывать вертикальную полосу прокрутки даже до того, как пользователь прокрутил. Я прочитал ответ: html { overflow: -moz-scrollbars-vertical; overflow-y: scroll; } Однако это, похоже, изначально не показывает бар scroll. Он показывает его только…

  • Как сделать прокрутку overflow-y без изменения overflow-x на auto?

    Я знаю, что это дублированный вопрос. И ниже Ссылка-это ответ, наиболее близкий к моему вопросу, который я нашел. CSS overflow-x: видимый; и overflow-y: скрытый; вызывая проблему полосы прокрутки В этой ссылке спецификация W3C говорит: Вычисленные значения ‘переполнение-X’ и ‘переполнение-y’…



47

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

Поделиться mikel     13 октября 2013 в 16:16



2

overflow-y: scroll всегда отображает полосы прокрутки, вместо этого используйте auto .

.fixed-panel {
  min-height: 280px;
  max-height: 280px;
  overflow-y: auto;
}

Поделиться marvelTracker     15 марта 2016 в 11:03


Похожие вопросы:


Meteor + overflow-y: прокрутка делает window. scrollTo не работает

Meteor имеет странную проблему с плавной прокруткой на iPhone: https://github.com/meteor/meteor/issues/3402 Эту проблему можно легко устранить, добавив этот фрагмент CSS…


Переполнение y не позволит scroll

Это мой код sass: Бар scroll на мобильном навигаторе появляется, но я не могу scroll, хотя я установил высоту на 100%,, если я установлю высоту на несколько пикселей, то scroll позволит мне…


событие прокрутки окна не запускается, когда overflow-y: scroll установлен на некоторый элемент в теле

Пожалуйста, см. ниже образец html <html> <body> <div id=parent> ………….. </div> </body> </html> CSS для родительского элемента: #parent { position:…


Создание главной полосы прокрутки всегда видимой-без scroll

У меня есть раздел текста, который я хочу всегда показывать вертикальную полосу прокрутки даже до того, как пользователь прокрутил. Я прочитал ответ: html { overflow: -moz-scrollbars-vertical;…


Как сделать прокрутку overflow-y без изменения overflow-x на auto?

Я знаю, что это дублированный вопрос. И ниже Ссылка-это ответ, наиболее близкий к моему вопросу, который я нашел. CSS overflow-x: видимый; и overflow-y: скрытый; вызывая проблему полосы прокрутки В…


overflow-y scroll не работает в IE 11

Привет, у меня есть регистрационная форма. Мне нужно, чтобы у него была вертикальная полоса прокрутки, я использую нижеприведенный css: .scrollbar{ overflow-y: scroll; height:400px; } Приведенный…


Overflow-y: прокрутка не показывает полосу прокрутки

Я видел некоторые темы, подобные этой: Overflow-y: Scroll не показывает полосу прокрутки в Chrome , я пробовал решение, но оно не сработало. Полоса прокрутки видна только тогда, когда я спускаюсь,…


Должны ли свойства scroll-behavior, overflow-anchor и overflow-y CSS быть установлены на html или body?

Я хочу всегда показывать полосу прокрутки, включить плавную прокрутку для всей страницы и отключить новую функцию привязки переполнения. Это лучший набор для тега html : html { overflow-y: scroll;…


overflow-x и overflow-y не переопределяют переполнение

Я использую bootstraptable и пытаюсь сделать так, чтобы ячейки отображали переполненное содержимое, но только вниз (т. е. overflow-y). Дело в том, что bootstraptable css использует overflow: hidden…


How to overflow-x: visible while overflow-y: scroll

MDN , говоря о переполнении, утверждает: Примечание MDN: установка одной оси в видимое (по умолчанию), а другой в другое значение приводит к тому, что видимое ведет себя как авто. Итак, в следующем…

`overflow: scroll` in the `display: flex` 👿😳🤔🤯 · GitHub

Столкнулись с проблемой: блок со скролом распепячивает flex. Давайте разбираться.

4 месяца назад показалось, что хак найден, о чём мы поспешили рассказать в твиттере, но потом стало ясно что таки поспешили.

Помотрели в спеку и mdn, но ключей к решению не нашли.

MDN: In order for overflow to have an effect, the block-level container must have either a set height (height or max-height) or white-space set to nowrap.

После экспериментов (демки ниже) стало понятно что приводит к растяжению ширины scroll-контейнера: родительские flex-контейнеры без заданной через width ширины, см. сниппет 1.4. Ширина-то необходима как следует из статьи с MDN.

Но очевидно, задание width элементу flex-контейнера ломает flex-поведение, см. сниппеты 1.6. и 2.2.

А коли во flex мы не имеем права задавать width, то и scroll справедливо не работает.


Слава Гридам, был найден ХАК: Если обернуть scroll в грид из одного элемента, то задавать ширину или white-space, как указано в документации не трубуется, см. сниппет 0.0.

Демки в порядке дебага

0. Хак

  1. 🧡 Grid hack

1. Попытка сломать простой работающий скрол внутри ширины в %

  1. ❎ Just overflow
  2. ❎ Just overflow in flex wrap
  3. ❎ Just overflow with single scrollable
  4. ссылка сломалась 👹 Minimal reproducing: after extra flex added!
  5. ссылка сломалась Fixed: .flex-wrap.inner { width: 100%; }
  6. ссылка сломалась But it’s broken at all

2. Попытка починить сломанное решение из проекта

  1. ссылка сломалась 🚩 Reproducing (copied from project)
  2. ссылка сломалась ✴️ Removing div.scroll-wrap fixes it! But width still overflows
  3. 🧡 With Grid hack

Ответы на вопросы

Почему просто не заворачивать всё в гриды

В динамических SPA компонентах содержимое может произвольным образом меняться, часто нельзя задавать в css жёсткую структуры. Хотя гриды и обладают гибкостью к содержимому контейнера (например, можно описать колонки для произвольного количества «строк»), часто это или излишне или всё же недостаточно гибко и требует дублировать знание о структуре динамического контента в css.

Где это нужно

Мы эту проблему решили для скролящихся вкладок внутри 2-х вложенных flex-контейнеров составной шапки. Эта шапка состоит из родительского React-компонента, описывающего компоновку (layout) и встроенного фрагмента, специфичного для этого типа страниц.

Зачем в демках два вложенных флекса

Например .scroll-wrap-2 это прекрасный пример хака «scrollbar-hider»: прячущего скролбар внизу для любой платформы. В других демках вложенные флексы демонструруют реальную структуры вёрстки боевого проекта состоящего из встроенных из вне компонент.

Продолжение

В следующей статье расскажем про хак с display: grid и position: sticky в главных ролях.

Благодарности 😻

Эти результаты не стали бы реальностью без классных ребят из моей команды:

Спасибо Артёму @tetris0k и Жоре @boozingeorge

Overflow CSS уроки для начинающих академия



Свойство CSS overflow управляет тем, что происходит с содержимым, которое слишком велико для размещения в области.

This text is really long and the height of its container is only 100 pixels. Therefore, a scrollbar is added to help the reader to scroll the content. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.



CSS Overflow

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

Свойство overflow имеет следующие значения:

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

Примечание: Свойство overflow работает только для элементов блока с заданной высотой.

Примечание: В OS X Lion (на Mac) полосы прокрутки скрыты по умолчанию и отображаются только при использовании (даже если задано «переполнение: прокрутка»).


переполнение: видимый

По умолчанию переполнение является visible, что означает, что оно не обрезается и отображается вне поля элемента:

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

Пример

div {
    width: 200px;
    height: 50px;
    background-color: #eee;
    overflow: visible;
}



переполнение: скрытый

При значении hidden переполнение обрезается, а оставшаяся часть содержимого скрывается:

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

Пример

div {
    overflow: hidden;
}


переполнение: прокрутка

Установка значения scroll , переполнение обрезается и полосы прокрутки добавляется, чтобы прокручивать внутри окна. Обратите внимание, что это добавит полосу прокрутки как горизонтально, так и вертикально (даже если она вам не нужна):

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

Пример

div {
    overflow: scroll;
}


переполнение: Авто

Значение auto аналогично scroll, только при необходимости добавляются полосы прокрутки:

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

Пример

div {
    overflow: auto;
}


overflow-x и overflow-y

Свойства overflow-x и overflow-y указывает, следует ли изменять overflow содержимого только по горизонтали или по вертикали (или оба):

overflow-x Указывает, что делать с левыми/правыми краями содержимого.
overflow-y Указывает, что делать с верхними/нижними краями содержимого.

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

Пример

div {
    overflow-x: hidden; /* Hide horizontal scrollbar */
    overflow-y: scroll; /* Add vertical scrollbar */
}



Все свойства переполнения CSS

СвойствоDescription
overflowУказывает, что происходит, если содержимое переполнено полем элемента
overflow-xУказывает, что делать с левыми/правыми краями содержимого, если оно переполнено областью содержимого элемента
overflow-yУказывает, что делать с верхними/нижними краями содержимого, если оно переполнено областью содержимого элемента

overflow | CSS справочник

Поддержка браузерами

12. 0+ 4.0+ 1.0+ 1.0+ 7.0+ 1.0+

Описание

Когда для элементов применяются свойства height (высота) и width (ширина), задающие точный размер, то появляется вероятность переполнения элемента его контентом, то есть контент может занимать больше места, чем было зарезервировано содержащим его элементом.

CSS свойство overflow позволяет заранее определить, что будет предприниматься, если содержимое элемента превзойдет его размер. По умолчанию, весь контент будет видимым, даже если он в несколько раз превзойдет по объему размеры элемента, но это можно легко изменить, используя подходящее значение для свойства.

Значение по умолчанию: visible
Применяется: к незамещаемым блочным и строчным элементам
Анимируется: нет
Наследуется: нет
Версия: CSS2
Синтаксис JavaScript: object. style.overflow=»scroll»

Синтаксис

overflow: visible|hidden|scroll|auto|inherit;

Значения свойства

Значение Описание
visible Указывает, что при переполнении элемента содержимым, оно не будет обрезаться, а просто выйдет за рамки.
hidden Указывает, что контент, который не помещается в элемент, будет обрезан(обрезанная часть будет невидимая).
scroll Указывает, что контент, который не помещается в элемент, будет обрезан, но для просмотра обрезанной части, можно будет воспользоваться полосой прокрутки.
auto При переполнении элемента содержимым, полосы прокрутки добавляются автоматически.
inherit Указывает, что значение наследуется от родительского элемента.

Пример

#myDIV {
width: 150px;
height: 200px;
overflow: visible;
}

«overflow-y: scroll;» скрывает переполняющие элементы по горизонтальной линии

Well found this on stackoverflow, but you aren’t going to be happy.

CSS overflow-x: visible; and overflow-y: hidden; causing scrollbar issue

To put it short the answer says this

If you are using visible for either overflow-x or overflow-y and something other than visible for the other. The visible value is interpreted as auto.

His answer goes more in depth talking about the W3 spec which explains this occurrence.

Pretty much your overflow-x can’t be visible because it will turn to auto. (which part of that style hides the content that goes out of it. ) if your overflow-y is anything different from it.

EDIT:

You could try this however as a workaround for that spec.

HTML

<div id=parent>
       <div id=absolute-child>
           This is the child
       </div>
       <div id=child>
           This is the child
       </div>
</div>

CSS

body {
       text-align: center;
}
#parent{
       display:inline-block;
       position: relative;
       text-align: left;
}
#absolute-child {
       background-color: red;
       color: white;
       position: absolute;
       left: -50px;
}
#child{
       border: solid 1px black;
       width: 200px;
       height: 200px;
       overflow-x: visible;
       overflow-y: scroll;
       margin-left: auto;
       margin-right: auto;
}

http://jsfiddle.net/BFLQr/

Give me a second to explain what I did.

EDIT

So first of all I basically had to move your parent div to be a child div of the parent div that is now there. This is a little strange, but it’s the only thing I could think of. The now parent div has the «shrink to fit» style applied to it through display: inline-block this wraps it around it’s child divs.

Since position absolute gets pushed out of the document flow this means your absolute position child does not affect the width or height of it’s new «shrink to fit» parent. The «shrink to fit» parent also has display relative this let’s your absolute position div be positioned according to it. Also since the parent is now display inline-block in order to center it you must use text-align center on it’s containing element. which means you also need to put text align left on your #parent or #child elements.

Hope this helped. 🙂

P.S. I edited the fiddle it had an unnecessary position relative on the #child element. I also added the text-align left to the new parent

overflow — CSS: Cascading Style Sheets

Это свойство является сокращением для следующих свойств CSS:

 
перелив: видимый;
переполнение: скрыто;
перелив: зажим;
переполнение: прокрутка;
перелив: авто;
переполнение: скрыто видимым;


переполнение: наследование;
перелив: начальный;
переполнение: не установлено;
  

Свойство overflow определяется как одно или два ключевых слова, выбранных из списка значений ниже. Если указаны два ключевых слова, первое применяется к overflow-x , а второе — к overflow-y .В противном случае для overflow-x и overflow-y устанавливается одно и то же значение.

Значения

видимые
Содержимое не обрезается и может отображаться за пределами поля заполнения.
скрыто
Содержимое при необходимости обрезается по размеру набивки. Полосы прокрутки не предусмотрены, и поддержка, позволяющая пользователю выполнять прокрутку (например, перетаскивая или используя колесо прокрутки), не разрешена. Контент можно прокручивать программно (например, путем установки значения свойства, такого как offsetLeft ), так что элемент по-прежнему является контейнером прокрутки.
зажим
Как и для , скрытого , содержимое обрезается до поля заполнения элемента. Разница между clip и hidden заключается в том, что ключевое слово clip также запрещает любую прокрутку, включая программную. Поле не является контейнером прокрутки и не запускает новый контекст форматирования. Если вы хотите запустить новый контекст форматирования, вы можете использовать display: flow-root для этого.
свиток
Содержимое при необходимости обрезается по размеру набивки.Браузеры всегда отображают полосы прокрутки независимо от того, действительно ли какое-либо содержимое обрезано, что предотвращает появление или исчезновение полос прокрутки при изменении содержимого. Принтеры по-прежнему могут печатать переполненное содержимое.
авто
Зависит от пользовательского агента. Если содержимое помещается внутри поля заполнения, оно выглядит так же, как visible , но все же устанавливает новый контекст форматирования блока. Настольные браузеры предоставляют полосы прокрутки при переполнении содержимого.
overlay Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.
Действует так же, как auto , но полосы прокрутки отображаются поверх содержимого, а не занимают место. Поддерживается только в браузерах на основе WebKit (например, Safari) и Blink (например, Chrome или Opera).
Расширения Mozilla
-moz-scrollbars-none Это устаревший API, работа которого больше не гарантируется. [1]
Используйте вместо этого overflow: hidden .
-moz-scrollbars-horizontal Этот устаревший API больше не должен использоваться, но, вероятно, будет работать.[1]
Используйте overflow-x : scroll и overflow-y : hidden или overflow: hidden scroll вместо этого.
-moz-scrollbars-vertical Этот устаревший API больше не должен использоваться, но, вероятно, будет работать. [1]
Используйте overflow-x : скрытые и overflow-y : прокрутите или overflow: прокрутите скрытые вместо этого.
-moz-hidden-unscrollable Это устаревший API, работа которого больше не гарантируется.
Используйте переполнение : вместо этого используйте зажим .

[1] Начиная с Firefox 63, эта функция находится за настройкой параметров функции. В about: config установите layout.css.overflow.moz-scrollbars.enabled от до true

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

Указание значения, отличного от visible (по умолчанию) создает новый контекст форматирования блока.Это необходимо по техническим причинам — если поплавок пересекается с элементом прокрутки, он принудительно перематывает содержимое после каждого шага прокрутки, что приводит к медленной прокрутке.

Чтобы overflow имел эффект, контейнер уровня блока должен иметь либо заданную высоту ( height или max-height ), либо white-space , установленное на nowrap .

Установка одной оси на видимых (по умолчанию) при установке другой на другое значение приводит к видимым как авто .

Свойство JavaScript Element.scrollTop можно использовать для прокрутки элемента HTML, даже если переполнение установлено на скрыто .

  [видимые | скрытый | зажим | свиток | авто] {1,2}  

Установка различных значений переполнения для текста

  p {
  ширина: 12em;
  высота: 6em;
  граница: пунктирная;
  перелив: видимый;
}
  

видимый (по умолчанию)
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

  п {переполнение: скрыто; }
  

переполнение: скрыто
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

  п {overflow: scroll; }
  

overflow: scroll
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

  п {перелив: авто; }
  

overflow: auto
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

Таблицы BCD загружаются только в браузере

Свойство переполнения CSS


Пример

Показать различные значения свойств переполнения:

div.ex1 {
переполнение: прокрутка;
}

дел. Ex2 {
переполнение: скрыто;
}

div.ex3 {
переполнение: авто;
}

div.ex4 {
overflow: visible;
}

Попробуй сам »

Определение и использование

Свойство overflow указывает, что должно произойти, если содержимое переполняет поле элемента.

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

Примечание: Свойство overflow работает только для блочных элементов с указанной высотой.

Значение по умолчанию: видимый
Унаследовано: нет
Анимация: нет.Прочитать о animatable
Версия: CSS2
Синтаксис JavaScript: объект .style.overflow = «scroll» Попробуй это

Поддержка браузера

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

Имущество
перелив 1.0 4,0 1,0 1,0 7,0

Примечание: В OS X Lion (на Mac) полосы прокрутки по умолчанию скрыты и отображаются только при использовании (даже если установлено «overflow: scroll»).



Синтаксис CSS

переполнение: видимый | скрытый | прокрутка | авто | начальный | наследование;

Значения свойств

Значение Описание Играй
видимый Перелив не отсечен.Он отображается за пределами рамки элемента. Это по умолчанию Играй »
скрыто Переполнение обрезается, остальное содержимое будет невидимым Играй »
свиток Переполнение обрезается, но добавляется полоса прокрутки для просмотра остального содержимого Играй »
авто Если переполнение ограничено, полоса прокрутки должна быть добавлена ​​для просмотра остального содержимого Играй »
начальный Устанавливает для этого свойства значение по умолчанию.Читать о начальная Играй »
наследовать Наследует это свойство от своего родительского элемента. Читать про наследство

связанные страницы

Учебник

CSS: переполнение CSS

Учебник

CSS: позиционирование CSS

Ссылка на HTML DOM: свойство переполнения



перелив | CSS-уловки

Свойство overflow управляет тем, что происходит с контентом, выходящим за его границы: представьте себе div , в котором вы явно установили ширину 200 пикселей, но содержит изображение шириной 300 пикселей.Это изображение будет выступать из div и по умолчанию будет видимым . Если вы установите значение overflow на hidden , изображение будет обрезано на 200 пикселей.

  div {
  переполнение: видимое | скрытый | свиток | авто | наследовать
}  

Посмотреть демо

Значения

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

Помните, что текст будет естественным образом переноситься в конец элемента (если не изменить пробел), поэтому текст редко будет причиной переполнения.Если высота не задана, текст также просто подтолкнет элемент выше. Переполнение чаще возникает, когда заданы явные значения ширины и высоты, и нежелательно, чтобы какой-либо контент выплеснулся наружу, или когда прокрутка явно избегается.

видимый

Если вы вообще не устанавливаете свойство переполнения, значение по умолчанию отображается. Таким образом, в общем случае нет причин явно устанавливать это свойство как видимое, если вы не отменяете его установку в другом месте.

Здесь важно помнить, что, даже если контент виден за пределами поля, это содержимое не влияет на поток страницы.Например:

Как правило, вам все равно не следует устанавливать статическую высоту для блоков с веб-текстом, поэтому они не должны появляться.

Скрытый

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

Это особенно полезно при использовании динамического содержимого и возможности переполнения, вызывающего серьезные проблемы с разметкой. Однако имейте в виду, что скрытый таким образом контент полностью недоступен (за исключением просмотра источника).Так, например, у пользователя установлен размер шрифта по умолчанию больше, чем вы ожидаете, вы можете выталкивать текст за пределы поля и полностью скрывать его от их представления.

Свиток

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

Следует отметить, что с этим значением вы получаете ОБЕ горизонтальные и вертикальные полосы прокрутки независимо от того, что, даже если для содержимого требуется только одна или другая.

Прокрутка импульса

iOS может быть включена для этого значения с помощью -webkit-overflow-scrolling .

Примечание: В OS X Lion, когда полосы прокрутки настроены на отображение только при использовании, scroll ведет себя больше как auto , в котором отображаются только необходимые полосы прокрутки.

Авто

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

переполнение-x и переполнение-y

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

  .box {
  переполнение-y: скрыто;
  переполнение-x: прокрутка;
}  

См. Pen 5ff94380c4edf4d0b1409504ed1f3315 от CSS-Tricks (@ css-tricks) на CodePen.

Очистка поплавка

Как ни странно, одним из наиболее популярных способов использования настройки переполнения является очистка числа с плавающей запятой. Настройка переполнения не сбрасывает поплавок в элементе , а само очищает . Это означает, что элемент с переполнением (любое значение, кроме , видимого ) будет расширяться настолько, насколько это необходимо, чтобы охватить дочерние элементы внутри, которые перемещаются (вместо сворачивания), при условии, что высота не объявлена. Как это:

Лучшим методом очистки поплавка является clearfix, поскольку он не требует, чтобы вы изменяли свойство переполнения так, как вам не нужно.

Создание контекста форматирования блока

Интересно отметить, что переполнение также создаст новый контекст форматирования блока, который полезен, если мы хотим выровнять элемент блока рядом с плавающим. В приведенном ниже примере мы показываем, как несколько абзацев будут взаимодействовать с плавающим изображением по умолчанию, а затем мы используем overflow: hidden для выравнивания текста в его собственном поле:

См. Контекст блока создания пера с переполнением: скрыто Робином Рендлом (@robinrendle) на CodePen.

Это взято из замечательного поста Николь Салливан, который вдохновил медиа-объект.

Можно ли стилизовать полосы прокрутки с помощью CSS?

Раньше вы могли стилизовать полосы прокрутки в IE (v5. 5?), Но не более того. Теперь вы можете снова стилизовать их в браузерах WebKit. Если вам нужны настраиваемые полосы прокрутки в разных браузерах, обратите внимание на JavaScript.

Если к элементу необходимо добавить полосы прокрутки для соблюдения значения переполнения, Firefox помещает их за пределы элемента, сохраняя видимую ширину / высоту, как заявлено.IE помещает полосы прокрутки внутрь, сохраняя заявленную общую ширину / высоту.

Демо

Демоверсии для этой статьи взяты с этой страницы-примера.

Поддержка браузера

Настольный компьютер
58 мобильный
Chrome Firefox IE Edge Safari
91 87 11 88
Android Chrome Android Firefox Android iOS Safari
88 83 81 14. 0-14,4

Связанные

Дополнительная информация

css -webkit-overflow-scrolling — Ссылка CodeProject

  1. Дом
  2. css
  3. -webkit-overflow-scrolling

Свойство CSS -webkit-overflow-scrolling определяет, будут ли сенсорные устройства использовать прокрутку на основе импульса для данного элемента.

Пример

 -webkit-overflow-scrolling: сенсорный; / * позволяет лениво прокручивать * /

-webkit-overflow-scrolling: авто; / * немедленно прекратить прокрутку * /
 

Описание

Свойство -webkit-overflow-scrolling CSS определяет, будут ли сенсорные устройства использовать прокрутку на основе импульса для данного элемента.

Значение не найдено в БД!

Совместимость с браузером

Элемент Хром Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая опора? Не поддерживается???
Элемент Android Firefox Mobile (Gecko) IE Телефон Opera Mobile Safari Mobile
Базовая опора? Не поддерживается?? 5. 0

Технические характеристики

Не входит ни в какие спецификации. У Apple есть описание в Справочнике Safari CSS.

Ценности

авто
Используйте «обычную» прокрутку, при которой контент сразу перестает прокручиваться, когда вы убираете палец с сенсорного экрана.
сенсорный
Используйте прокрутку на основе импульса, при которой контент продолжает прокручиваться некоторое время после завершения жеста прокрутки и удаления пальца с сенсорного экрана.Скорость и продолжительность непрерывной прокрутки пропорциональны тому, насколько энергичным был жест прокрутки. Также создает новый контекст наложения.

Формальный синтаксис

 Синтаксис не найден в БД! 

Смотрите также

Лицензия

Могу ли я использовать . .. Таблицы поддержки HTML5, CSS3 и т. Д.

Свойство CSS: -webkit-overflow-scrolling

  • Глобальное использование
    14.61% + 0% знак равно 14,61%
IE
  1. 6-10: Не поддерживается
  2. 11: Не поддерживается
Edge
  1. 12-87: Не поддерживается
  2. 88: Не поддерживается
Firefox
  1. 2-84: Не поддерживается
  2. 85: не поддерживается
  3. 86-87: не поддерживается
Chrome
  1. 4-87: не поддерживается
  2. 88: не поддерживается
  3. 03% — Not supported»> 89-91: не поддерживается
Safari
  1. 3.1 — 13.1: не поддерживается
  2. 14: не поддерживается
  3. TP: не поддерживается
Opera
  1. 10 — 71: не поддерживается
  2. 72: не поддерживается
iOS Safari
  1. 3.2 — 4.3: не поддерживается
  2. 5 — 13,7: Поддерживается
  3. 14: Поддерживается
Opera Mini
  1. все: Поддержка неизвестна
Браузер Android
  1. 2.1 — 4.4.4: Не поддерживается
  2. 00% — Not supported»> 81: Не поддерживается
Opera Mobile
  1. 12 — 12.1: Не поддерживается
  2. 59: Не поддерживается
Chrome для Android
  1. 88: Не поддерживается
Firefox для Android
  1. 83: Не поддерживается
UC Browser для Android
  1. 12.12: Поддержка неизвестна
Samsung Internet
  1. 4 — 12.0: Не поддерживается
  2. 13.0: Не поддерживается
QQ Browser
  1. 10.4: Поддержка неизвестна
Baidu Browser
  1. 7. 12: Поддержка неизвестна
Браузер KaiOS
  1. 2.5: Поддержка неизвестна

Overflow — Tailwind CSS

Visible

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

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Mauris eleifend rutrum auctor. Phasellus convallis sagittis augue ut ornare.Vestibulum et gravida lectus, sed ultrices sapien. Nullam aliquet elit dui, vitae hendrerit lectus volutpat eget

  
Lorem ipsum dolor sit amet ...

Auto

Используйте overflow-auto , чтобы добавить полосы прокрутки к элементу в случае, если его содержимое выходит за границы этого элемента. В отличие от .overflow-scroll , который всегда показывает полосы прокрутки, эта утилита будет показывать их, только если прокрутка необходима.

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Mauris eleifend rutrum auctor. Phasellus convallis sagittis augue ut ornare. Vestibulum et gravida lectus, sed ultrices sapien. Nullam aliquet elit dui, vitae hendrerit lectus volutpat eget. В портале tincidunt egestas. Pellentesque laoreet ligula at est vulputate facilisis. Etiam tristique justo ut odio placerat ornare. Cras bibendum, orci at ornare tincidunt, lacus nunc gravida enim, sit amet euismod nunc lectus in lectus.Ut dictum nulla et arcu aliquet ornare. Aliquam et dapibus lectus. Aenean mattis elit mi, sed ultricies augue conctetur id. Sed id magna malesuada, luctus urna a, bibendum toror. Cras cursus cursus ex. Nulla fringilla elit vitae imperdiet scelerisque. Donec ac sem eu diam convallis mollis a sed leo. Proin congue augue turpis, eget rutrum dolor ultricies non. Nulla blandit venenatis dapibus. Sed tincidunt mollis elit, quis suscipit nibh eleifend quis. Donec ex lorem, auctor eu rutrum in, blandit id dolor. Nulla molestie arcu turpis. In id felis vulputate, tempor massa eget, malesuada mauris. Quisque fringilla conquat metus, luctus scelerisque leo fringilla vel.

  
Lorem ipsum dolor sit amet ...

Hidden

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

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Mauris eleifend rutrum auctor.Phasellus convallis sagittis augue ut ornare. Vestibulum et gravida lectus, sed ultrices sapien. Nullam aliquet elit dui, vitae hendrerit lectus volutpat eget. В портале tincidunt egestas. Pellentesque laoreet ligula at est vulputate facilisis. Etiam tristique justo ut odio placerat ornare. Cras bibendum, orci at ornare tincidunt, lacus nunc gravida enim, sit amet euismod nunc lectus in lectus. Ut dictum nulla et arcu aliquet ornare. Aliquam et dapibus lectus. Aenean mattis elit mi, sed ultricies augue conctetur id. Sed id magna malesuada, luctus urna a, bibendum toror. Cras cursus cursus ex. Nulla fringilla elit vitae imperdiet scelerisque. Donec ac sem eu diam convallis mollis a sed leo. Proin congue augue turpis, eget rutrum dolor ultricies non. Nulla blandit venenatis dapibus. Sed tincidunt mollis elit, quis suscipit nibh eleifend quis. Donec ex lorem, auctor eu rutrum in, blandit id dolor. Nulla molestie arcu turpis. In id felis vulputate, tempor massa eget, malesuada mauris. Quisque fringilla conquat metus, luctus scelerisque leo fringilla vel.

  
Lorem ipsum dolor sit amet ...

Используйте overflow-x-auto для горизонтальной прокрутки при необходимости.

QrLmmW69vMQDtCOg48jidqvvWD2FzDt7I7bBoDc98SRP5OwvOScVYbRzFdfp540eF5v1pjogYkyI8NXqu4wY8chgsXIV0LU7XQKWJ98wLaBSHWiBhvkEU1T3sd6KEFo53CLjVjIz8UvZajb8sbsu62xTsF9cRtFdwEvusq6zJHvedymDCUkY6qXHsuL6fOmHo4KKMurZuJZrK3plRPUaI8XVciz8dVq5CEUXjMrTcB76h2w90CnkRER3nYjs3suTa3223xs8aL97m0peQfjlvKbF8HcmQG5mHEitCn1QZnbMZUK3zE9AIjwcVXP7R9V4fw2A93cZD7wj333X6aaiHZdkkTPtst0u05KSob5c0ZuKQi4D3V395NfFKKr8cR27jmpB7dqK2GiWXeOQUFcjmFVwlHWSlH8ZdUoVJpXf1xL6CRUxwZP4EhBbqQZaJm26ijWII6LRxJ5eVU9Y7KKvQsUeX5BawtgeMWRmjeCwQadTLTQG8gLpi2DvGpMtPWCdqHgEglVSB1ZlDrjEEsXYrNx1IOY0053K3pWNaR1ezyz8kahRfNs3byaHcIQu9tWTrcMpBWhZ45DzLjVV1N8Zt96uLnNWK5DvbKW8GgMuwY7fHkZFz85MN4d2gL0j85HmXGx9oPTFRkPWsmMOHUvm5IhB7QqGSAwT1uL7HgBrNX9a1BAWrp9zV1IWAd1q65sKOOCxTZrXJDpxBxYE4rJAGU6pcri9mUf4g49ZiIAwfu9njtZyYimmImCa6TFhk2jQcSmFDHacExxqC2BfYATHFrKSy94dbw6uWT52nM7MSM9JDu4cs9cbfnaf6amt4hTUotCTONg604b8JKPI1sfd4CG36fBNcnErhpllfRlXkY1xFwmwZT7IJV8okPGNQdTKpdPJOBGw3LHMKojPJl1nPiQB5C9bdePFMNLejSXY5DDvO70ehOCJpBtKZY2quoFJJjGfXe8T4DuGYGmM6JYd5DNinWZuUWXGvfIlJRHg f8BQNQvtmEzqGXIeQZitiq9F

  
QrLmmW69vMQD. ..

Используйте overflow-y-auto для вертикальной прокрутки при необходимости.

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Mauris eleifend rutrum auctor. Phasellus convallis sagittis augue ut ornare. Vestibulum et gravida lectus, sed ultrices sapien. Nullam aliquet elit dui, vitae hendrerit lectus volutpat eget. В портале tincidunt egestas. Pellentesque laoreet ligula at est vulputate facilisis. Etiam tristique justo ut odio placerat ornare.Cras bibendum, orci at ornare tincidunt, lacus nunc gravida enim, sit amet euismod nunc lectus in lectus. Ut dictum nulla et arcu aliquet ornare. Aliquam et dapibus lectus. Aenean mattis elit mi, sed ultricies augue conctetur id. Sed id magna malesuada, luctus urna a, bibendum toror. Cras cursus cursus ex. Nulla fringilla elit vitae imperdiet scelerisque. Donec ac sem eu diam convallis mollis a sed leo. Proin congue augue turpis, eget rutrum dolor ultricies non. Nulla blandit venenatis dapibus. Sed tincidunt mollis elit, quis suscipit nibh eleifend quis. Donec ex lorem, auctor eu rutrum in, blandit id dolor. Nulla molestie arcu turpis. In id felis vulputate, tempor massa eget, malesuada mauris. Quisque fringilla conquat metus, luctus scelerisque leo fringilla vel.

  
Lorem ipsum dolor sit amet ...

Используйте overflow-x-scroll , чтобы разрешить горизонтальную прокрутку и всегда отображать полосы прокрутки, если всегда видимые полосы прокрутки не отключены операционной системой.

  
QrLmmW69vMQD ...

Используйте overflow-y-scroll , чтобы разрешить вертикальную прокрутку и всегда показывать полосы прокрутки, если всегда видимые полосы прокрутки не отключены операционной системой.

  
Lorem ipsum dolor sit amet ...

Используйте overflow-scroll , чтобы добавить полосы прокрутки к элементу. В отличие от . overflow-auto , который показывает полосы прокрутки только в том случае, если они необходимы, эта утилита всегда показывает их.Обратите внимание, что некоторые операционные системы (например, macOS) скрывают ненужные полосы прокрутки независимо от этого параметра.

  
Lorem ipsum dolor sit amet ...

Responsive

Чтобы применить утилиту переполнения только в определенной точке останова, добавьте префикс {screen}: к существующему имени класса. Например, добавление класса md: overflow-scroll к элементу приведет к применению утилиты overflow-scroll при средних размерах экрана и выше.

  
Lorem ipsum dolor sit amet ...

Для получения дополнительной информации о функциях адаптивного дизайна Tailwind ознакомьтесь с документацией по адаптивному дизайну.

Настройка

Варианты

По умолчанию для утилит переполнения генерируются только ответные варианты.

Вы можете контролировать, какие варианты генерируются для утилит переполнения, изменив свойство overflow в разделе вариантов попутного ветра .config.js файл.

Например, эта конфигурация также будет генерировать варианты наведения и фокусировки:

 
  module.exports = {
    варианты: {
      продлить: {
        
+ переполнение: ['hover', 'focus'],
      }
    }
  }  

Если вы не планируете использовать утилиты переполнения в своем проекте, вы можете полностью отключить их, установив для свойства overflow значение false в разделе corePlugins вашего файла конфигурации:

 
  модуль.экспорт = {
    corePlugins: {
      
+ переполнение: ложь,
    }
  }  

Использовать переполнение CSS «Авто» — не переполнение «Прокрутка»

Когда в 2007 году вышел Apple iPhone, в браузере Safari Mobile по умолчанию не было полос прокрутки. Ну, по крайней мере, не полосы прокрутки, которые были видны все время. Когда вы начали прокручивать, появились тонкие полосы прокрутки; но по большей части в пользовательском интерфейсе Apple iPhone (UI) не было полосы прокрутки. Позже MacOS последовала их примеру, отключив видимость полосы прокрутки по умолчанию.Это изменение в экосистеме Apple помешало молодым веб-разработчикам сформировать сильный инстинкт для свойства CSS overflow . Все чаще и чаще я вижу, что веб-разработчики случайно используют overflow: scroll , тогда как то, что они намеревались использовать , было overflow: auto . К сожалению, в продуктах Apple обнаружить эту ошибку сложно. Таким образом, я просто хотел быстро обрисовать разницу в поведении CSS overflow .

Запустите эту демонстрацию в моем проекте JavaScript Demos на GitHub.

Посмотрите этот код в моем проекте JavaScript Demos на GitHub.

В контейнере фиксированного размера мы можем использовать свойство CSS overflow , чтобы определить, как браузер будет отображать контент внутри указанного контейнера. Когда мы используем либо overflow: auto , либо overflow: scroll , мы говорим браузеру прокручивать контейнер, когда содержимое не помещается полностью в размеры контейнера. Разница между двумя значениями CSS определяет, когда браузер отображает фактическую полосу прокрутки.

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

Чтобы увидеть это в действии, я создал простую демонстрацию, в которой у нас есть два набора контейнеров: один с переполнением : прокрутка и один с переполнением : авто . Для каждого набора один пример имеет содержимое, которое полностью соответствует размерам контейнера; а в другом примере есть содержимое, которое требует обработки контейнера переполнения.

  




<название>
Использовать «Авто» переполнения CSS - «Прокрутка» без переполнения - при обрезке большинства контейнеров фиксированного размера




Использовать «Авто» переполнения CSS - «Прокрутка» без переполнения - при обрезке большинства контейнеров фиксированного размера

Использование Overflow: прокрутка

Использование Overflow: Auto

Как видите, два разных набора контейнеров различаются только использованием свойства overflow . Теперь, если мы визуализируем это на современном устройстве Apple с настройками по умолчанию , оба примера контейнера переполнения будут выглядеть точно так же:

Тот факт, что эти примеры выглядят одинаково, на самом деле является «особенностью», которой оказывает молодым веб-разработчикам медвежью услугу . Вот почему я настоятельно рекомендую зайти в общие настройки Apple и изменить поведение полосы прокрутки так, чтобы всегда отображал . Это возвращает «традиционный» способ отрисовки полос прокрутки и делает интерфейсы веб-приложений более согласованными на разных платформах.

Вот как выглядит эта демонстрация, когда я обновляю настройки полосы прокрутки:

Как видите, контейнеры, использующие overflow: scroll , всегда отображают полосу прокрутки независимо от того, достаточно ли большой контент, чтобы требовать прокрутки.С другой стороны, при использовании overflow: auto браузер отображает полосу прокрутки только тогда, когда это необходимо; и только на оси (x или y), для которой это необходимо.

ASIDE : вы также можете использовать свойства CSS overflow-x и overflow-y вместо overflow , чтобы применить более избирательный контроль над тем, когда и как отображаются полосы прокрутки.

Лично мне не нравится, что MacOS от Apple по умолчанию скрывает полосы прокрутки.На мобильном устройстве, где так мало места на экране, это прекрасный компромисс. Но на настольном компьютере, где много места, я думаю, что скрытие полос прокрутки по умолчанию — странный выбор для удобства использования. Да, «неплохо» иметь пользовательский интерфейс без полос прокрутки. Но, на мой взгляд, это делает пользовательский интерфейс чуть менее очевидным и чуть менее удобным для использования .

И дело в том, что overflow: scroll покажет полосы прокрутки на других платформах.Например, вот эта демонстрация в IE11 (Internet Explorer 11):

Как видите, IE11 соответствует свойству CSS overflow . Вот почему я всегда захожу в настройки Apple и устанавливаю рендеринг полос прокрутки на , всегда на . Это способствует лучшему пониманию свойства CSS overflow ; и упрощает создание согласованного поведения интерфейса на разных платформах.

В сторону : Кажется, что последние версии Windows теперь позволяют автоматически скрывать полосы прокрутки.Для меня это делает еще более важным , чтобы молодые разработчики включали видимых полос прокрутки . В противном случае им будет все труднее и труднее понять, как на самом деле работают полосы прокрутки для всех их пользователей .

Но этот пост не о том, как разные платформы отображают полосы прокрутки — этот пост о различиях между различными свойствами CSS overflow . В конечном итоге ваш CSS должен быть написан с намерением . И я считаю, что в большинстве случаев разработчики намереваются использовать overflow: auto , а не overflow: scroll .Так уж получилось, что эту ошибку сложнее увидеть на платформах, которые по умолчанию скрывают полосы прокрутки.

Понравилось это? Возможно, вам также понравится читать:

.

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

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