CSS visibility — сховати елемент: hidden, visible, collapse
Властивість visibility визначає, чи буде елемент приховано. Властивість призначена для відображення або приховування елемента, включаючи рамку навколо нього і фон. Під час приховування елементу, хоча він і стає прихованим, місце, яке він займає, залишається за ним. Якщо передбачається вивід різних елементів в одне і те ж місце екрану, для обходу цієї особливості слід використовувати абсолютне позиціонування або скористатися властивістю display.

Властивість visibility також приховує рядки і колонки таблиці (<table>). Якщо треба не тільки приховати елемент, але й також повністю прибрати його з потоку - використовуйте властивість display.
visibility чи display: none?
Три способи сховати елемент роблять різні речі:
visibility: hidden— елемент невидимий, але місце за ним лишається: сусіди не зсуваються;display: none— елемента ніби немає: місце звільняється, макет перебудовується;opacity: 0— елемент прозорий, але живий: далі ловить кліки й фокус.
visibility успадковується, і в цьому її унікальний трюк: усередині прихованого батька можна показати окрему дитину, поставивши їй visibility: visible. Із display: none такого не зробити.
Значення collapse призначене для рядків і колонок таблиць: рядок зникає, як із display: none, але браузер не перераховує ширину колонок — таблиця не смикається.
Для екранних читачів visibility: hidden ховає елемент так само надійно, як і візуально. Якщо сховати треба лише візуально, а читачам лишити (підписи, службові заголовки) — це окремий прийом .visually-hidden через clip-path і розмір 1×1 піксель.
- Порада
-
Навіть невидимі елементи займають місце на сторінці. Використовуй css властивість
автор: Svitlanadisplayдля створення невидимих елементів, які не займають простір на макеті сторінки, або використайте абсолютне позиціонування, щоб накласти новий елемент над прихованим! - Нотатка
-
Специфікація
автор: Svitlanaflexboxпередбачає, щоvisibility: collapse;діє на гнучкий елемент так як і на рядок або колонку таблиці.
Синтаксис
visibility: visible|hidden|collapse|initial|inherit;
Властивість visibility може отримувати 5 значень:
-
visible -
Відображає елемент як видимий.
автор: Svitlana -
hidden -
Елемент стає невидимим. На відмінно від властивості display:none, продовжує займати місце на макеті сторінки.
автор: Svitlana -
collapse -
Тільки для таблиць. Робить комірку чи рядок невидимою, при цьому, на відмінно від властивості display:none макет таблиці не змінюється.
Це значення не підтримується браузером Internet Explorer.
Якщо це значення застосовується не до таблиці, то результат його використання буде таким же, як hidden.
автор: Svitlana -
initial -
Встановлює властивість у значення без задання.
автор: Svitlana -
inherit -
Вказує на спадковість властивостей від свого батьківського елемента.
автор: Svitlana
| Значення без задання: | visible |
|---|---|
| Наслідує: | Так |
| Анімується: | Так |
| JavaScript синтаксис: | object.style.visibility="hidden" |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| visible, hidden | 1.0 | 1.0 | 1.0 | 4.0 | 12.0 | 4.0 |
| collapse | 1.0 | 1.0 | 4.0 | 9.5 | 12.0 | 8.0 |
| Переглядач | |||
|---|---|---|---|
| visible, hidden | 1.0 | 1.0 | 1.0 |
| collapse | Не підтримується | 1.0 | 4.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Демонстрація роботи властивості
Приклад роботи властивості visibility
Простий приклад, який показує як сховати елемент за допомогою властивості visibility.
Коментарі
Коментарів ще немає — будьте першим!