В чем разница между переполнением: скрытым и отображаемым: none

В чем разница между переполнением: скрытым и отображаемым: none?

Ответы

Ответ 1

Пример:

.oh
{
  height: 50px;
  width: 200px;
  overflow: hidden;
}

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

display: none; просто скроет блок.

Обратите внимание, что вы также visibility: hidden;, который скрывает содержимое блока, но блок все еще находится в макете, перемещая вещи вокруг.

Ответ 2

display: none удаляет элемент со страницы, а поток страницы действует так, как будто он вообще не существует.

overflow: hidden:

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

Ответ 3

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

Ответ 4

Простой пример переполнения: скрытый http://www.w3schools.com/Css/tryit.asp?filename=trycss_pos_overflow_hidden

Если вы редактируете CCS на этой странице, вы можете увидеть разницу между атрибутами переполнения (visible | hidden | scroll | auto) - и если вы добавите отображение: none в css, вы увидите, что весь блок контента исчезает.

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

Ответ 5

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

Если вы придаете элементу HTML фиксированную высоту, он может быть недостаточно большим, чтобы содержать его содержимое. Например, если у вас есть абзац с фиксированной высотой и синим фоном:

<p>This is an example paragraph. It has some text in it to try and give it a reasonable height. In a separate style sheet, we’re going to give it a blue background and a fixed height. If we add overflow: hidden, we won’t see any text that extends beyond the fixed height of the paragraph. Until then, the text will "overflow" the paragraph, extending beyond the blue background.</p>

p {
    background-color: #ccf;
    height: 20px;
}

Текст в абзаце будет выходить за нижний край абзаца.

Свойство overflow позволяет вам изменить это поведение по умолчанию. Итак, если вы добавили overflow: hidden:

p {
    background-color: #ccf;
    height: 20px;
    overflow: hidden;
}

Тогда вы не увидите ни одного текста за нижним краем абзаца. Он будет привязан к фиксированной высоте абзаца.

display: none просто заставит весь абзац (визуально) исчезнуть, синий фон и все, как будто он вообще не появился в HTML.

Ответ 6

Скажем, у вас есть div, который измеряет 100 x 100px

Затем вы помещаете в него целую кучу текста, например, он переполняет div. Если вы используете overflow: hidden;, тогда текст, который вписывается в 100x100, не будет отображаться и не повлияет на макет.

display: none совершенно иная. Он отображает остальную часть страницы, как если бы div все еще был видимым. Даже если есть переполнение, это будет учтено. Он просто оставляет пространство для div, но не отображает его. Если оба параметра установлены: display: none; overflow: hidden;, то он не будет отображаться, текст не будет переполняться, а страница будет отображаться так, как будто невидимые div все еще существуют.

Чтобы сделать div вообще не влиять на рендеринг, необходимо установить оба display: none; overflow: hidden;, а также сделать что-то вроде set height: 0;. Или с помощью width или обоих, тогда страница будет отображаться так, как будто div не существует вообще.

Ответ 7

display: none означает, что указанный тег вообще не отображается на странице (хотя вы все еще можете взаимодействовать с ним через dom). Между другими тегами не будет выделено пространство. Сбой переполнения означает, что тег визуализируется с определенной высотой и любым текстом и т.д., Что приведет к расширению тега для его отображения. Я думаю, что вы хотите спросить - видимость: скрытая. Это означает, что в отличие от отображения нет, тег не отображается, но для него выделяется пространство на странице. например,

<span>test</span> | <span>Appropriate style in this tag</span> | <span>test</span>

: none:

test | | тест

видимость: скрытая:

test |                       | тест

В видимости: скрытый тег отображается, он просто не отображается на странице.

Ответ 8

overflow: hidden - скрывает переполнение содержимого, в отличие от переполнения: auto, который показывает полосы прокрутки на div с фиксированным размером, где его внутренний контент больше размера

display: none - скрывает элемент и полностью не участвует в макете контента

P.S. нет никакой разницы между ними, они полностью не связаны