Как скрыть элемент с помощью css : 4 простых способа.

Привет, дорогие читатели, на связи Шевченко Вячеслав и сегодня очередная статья из серии css о том как скрыть элемент на странице. На днях я публиковал статью о переменных в css, рекомендую к прочтению.

Существует несколько способов скрыть блок в CSS. Можно указать opacity: 0, visability: hidden, display: none или установить крайние значения для абсолютного позиционирования.

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



Opacity

Свойство opacity устанавливает прозрачность элемента. Это означает, что opacity: 0 скрывает div только визуально. Он как и раньше занимает свою позицию, влияет на макет веб-страницы и будет доступен для взаимодействия.

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

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

При наведении на второй блок, элемент плавно переходит от состояния полной прозрачности до opacity: 1. Блок также имеет cursor: pointer, чтобы показать, что с ним можно взаимодействовать.

Visibility

Следующий способ скрыть блок или текст свойство — visibility. Значение hidden будет скрывать элемент. Так же, как и свойство opacity, скрытый элемент будет влиять на макет нашей веб-страницы. Единственное отличие заключается в том, что на этот раз он не будет доступен для взаимодействия. Кроме того, он будет скрыт от чтения с экрана.

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

Ниже пример, можете посмотреть разницу.

Обратите внимание на то, что потомки элемента с visibility: hidden могут быть видимыми, если их свойство visibility: visible. Попробуйте навести курсор только на скрытый элемент, а не на пункт внутри. Вы увидите, что тип курсора не изменится. Кроме того, если вы попытаетесь щелкнуть на элемент, ваши клики не будут учтены.

Тег внутри будет как и раньше захватывать все события мыши. Как только вы наведете курсор мыши на текст он станет видимым и начнет регистрировать события.

Display

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

Обратите внимание, что элемент по-прежнему доступен через DOM. Вы можете работать с ним так же, как с любым другим элементом.

Второй блок имеет элемент с display: block, но этот пункт остается невидимым. Это еще одна разница между visibility: hidden и display:none. В первом случае, любой потомок, который явно задает visibility: visible станет видимым, тогда как с display все иначе — все потомки остаются скрытыми независимо от значения свойства.

Теперь, наведите курсор мыши на первый блок несколько раз. Есть? Нажмите на первый блок. Это должно сделать второй блок видимым. Значение внутри должно стать больше 0. Это происходит потому, что элемент, несмотря на то, что он скрыт от пользователей, все еще доступен с помощью JavaScript.

Position

Допустим, у вас есть элемент, с которым вы хотели бы взаимодействовать, но вы не хотите, чтобы он влиял на верстку страницы. Никакое свойство до этого не может справиться с этой задачей должным образом. Одна вещь, которую вы можете сделать в этой ситуации — переместить элемент в окне. Таким образом, это не повлияет на макет. Вот CSS, чтобы сделать это:

Ниже пример который продемонстирует, как абсолютное позиционирование скрывает элементы:

Основная идея здесь — установить негативные top и left значение так, чтобы элемент больше не было видно на экране.

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

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

Так же подписывайтесь в наши группы facebook и vkontakte. До встречи в новых статьях!

comments powered by HyperComments