Js none display: html — Javascript — display: block/none

В чем разница между visible:hidden и display:none в CSS? | Kevin Chisholm

При видимости: скрытый элемент по-прежнему занимает место. С display:none он эффективно удаляется из DOM.

Скрытие элементов DOM с помощью CSS — распространенная задача. Некоторые задаются вопросом, должны ли они использовать visibility:hidden или display:none . Итак, давайте подумаем о скрытой видимости и отсутствии отображения. Прежде чем принять решение, задайте себе вопрос: «Хочу ли я, чтобы элемент по-прежнему физически влиял на DOM? или я хочу, чтобы элемент выглядел так, как будто он был удален со страницы?» . Это важный вопрос. Разница между visible:hidden и display:none в CSS заключается в том, как скрытый элемент влияет на DOM.

Когда visibility:hidden применяется к элементу HTML, он не отображается на странице, что имеет смысл. Но важно помнить, что этот элемент HTML по-прежнему влияет на модель DOM. На самом деле HTML-элемент влияет на DOM так, как будто он все еще виден. Теперь это может показаться странной особенностью, т. е. если вы не хотите, чтобы что-то было видимым, то почему вы хотите, чтобы это все еще влияло на DOM? Что ж, я могу без колебаний заявить, что я действительно попадал в ситуации, в которых такое поведение было именно тем, что мне было нужно. Итак, просто помните, что, хотя это может показаться странным, visibility:hidden действительно предлагает особую ценность, когда вам это нужно.

С другой стороны, когда display:none применяется к элементу HTML, он не отображается на странице, и это тоже имеет смысл. Однако в этом случае элемент не оказывает никакого влияния на DOM, а что касается других элементов вокруг него, то он просто не существует. Это важная деталь, потому что с display:none вы эффективно удаляете элемент из DOM. Однако в то же время у вас есть полный доступ к этому элементу, и вы можете изменять его, стилизовать или даже изменять отображаемое значение, чтобы он снова отображался в DOM. Наиболее распространенные значения свойства отображения CSS: « блок », «встроенный» и « встроенный блок ».

Visibility hidden vs display none — Пример

Пример № 1 — visibility:hidden

См. Pen CSS Visibility Hidden by Front End Video (@frontendvideo) на CodePen.

В примере №1 есть целая куча текста, а прямо посередине — изображение. Изображение имеет видимость : скрытую , установленную в его CSS. В итоге имеем пустую коробку. Это пустое поле представляет собой пространство, которое изображение занимает в DOM. Так что образ во многом еще существует. Но с визуальной точки зрения он был скрыт от глаз. Так что с visibility:hidden , просто имейте в виду: «он все еще там, но мы его не видим» .

И дело не только в том, что «он все еще там». это фактически влияет на DOM. Этот скрытый элемент буквально толкает другие элементы вверх и вниз, как если бы он был видимым. Так что, как вы понимаете, если вы не совсем понимаете, как работает visible:hidden, вы можете рвать на себе волосы, пытаясь понять, почему скрытый элемент все еще влияет на DOM. Просто имейте в виду: visibility:hidden не отменяет влияние этого элемента на другие элементы вокруг него.

Пример № 2 — display:none

См. «Видимость CSS пера, скрытая внешним видео» (@frontendvideo) на CodePen.

В примере №2 все аналогично: есть целая куча текста, а прямо посередине — изображение. Изображение имеет display:none , установленное в его CSS. Но на этот раз пустого ящика нет. Это связано с тем, что элемент больше не влияет на DOM. Изображение все еще существует, но оно не только скрыто от глаз, оно больше не влияет на поток документов. Так что с display:none , только имейте в виду: «как будто совсем убрали со страницы» .

Но опять же, хотя элемент выглядит так, как будто он был удален из DOM, у вас все еще есть полный доступ к нему. Вы можете управлять этим элементом так же, как и любым другим. Единственная разница в том, что пока применяется display:none, будет казаться, что он больше не существует (как визуально, так и физически).

Итог

Итак, помните: при сравнении visibility:hidden и display:none , самый важный вопрос, который нужно задать: «Хочу ли я, чтобы элемент по-прежнему влиял на DOM?» После того, как вы ответили на этот вопрос, вы можете продолжить, зная, что вы можете скрыть элемент HTML одним из двух способов. В одном случае этот элемент по-прежнему оказывает физическое влияние на другие элементы вокруг него (видимость: скрытый), а в другом элемент будет казаться полностью удаленным (отображение: нет).

Отображение и видимость — Пользовательский интерфейс Metro :: Популярная библиотека HTML, CSS и JS

Содержание

  • Общий
  • Дисплей
  • Касаться или не трогать
  • Видимость
  • Печать

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

Дисплей

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

  • .d-нет
  • .d-блок
  • .d-встроенный
  • .d-инлайн-блок
  • .d-таблица
  • .d-строка таблицы
  • .d-таблица-ячейка
  • .d-flex
  • .d-inline-flex

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

d-рядный

d-рядный

d-рядный

                    
d-inline
d-inline
d-inline

Адаптивные варианты также существуют для каждой отдельной утилиты, упомянутой выше, с определенным суффиксом.

  • .d-none-[sm | мкр | ЛГ | XL | xxl]
  • .d-блок-[см | мкр | ЛГ | XL | xxl]
  • .d-inline-[sm | мкр | ЛГ | XL | xxl]
  • .d-inline-block-[sm | мкр | ЛГ | XL | xxl]
  • .d-таблица-[sm | мкр | ЛГ | XL | xxl]
  • .d-таблица-строка-[sm | мкр | ЛГ | XL | xxl]
  • .d-table-cell-[sm | мкр | ЛГ | XL | xxl]
  • .d-flex-[см | мкр | ЛГ | XL | xxl]
  • .d-inline-flex-[sm | мкр | ЛГ | XL | xxl]

* Запомнить! Отзывчивые утилиты работают с опцией min-width .

Сенсорный и не сенсорный

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

Для сенсорного экрана
  • .d-не сенсорный
  • .d-блок-сенсорный
  • .d-inline-touch
  • .d-inline-block-touch
  • .d-стол-сенсорный
  • .d-таблица-строка-прикосновение
  • .d-table-cell-touch
  • .d-flex-touch
  • .d-inline-flex-touch
Бесконтактный
  • .d-нет-без касания
  • .d-блок без касания
  • .d-встроенный без касания
  • . d-inline-block-no-touch
  • .d-стол без касания
  • .d-строка-таблица без касания
  • .d-table-cell-no-touch
  • .d-flex-без касания
  • .d-inline-flex-no-touch

Видимость

Чтобы изменить видимость элемента, добавьте к элементу класс

.visible или .no-visible . Адаптивные варианты также существуют для каждой отдельной утилиты, упомянутой выше, с определенным суффиксом.

  • .видимый
  • .невидимый
  • .видимый-[см | мкр | ЛГ | XL | xxl]
  • .невидимый-[см | мкр | ЛГ | XL | xxl]

* Запомнить! Отзывчивые утилиты работают с опцией min-width .

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

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