visibility
Властивість в CSS має дві різні функції. Він приховує рядки та стовпці таблиці, а також приховує елемент, не змінюючи макет.
p ( visibility: hidden; ) tr ( visibility: collapse; )
visibility
має чотири дійсних значень: visible
, hidden
, collapse
, і inherit
. Ми розглянемо кожен із них, щоб дізнатись більше.
видно
Так само, як це звучить, visible
робить речі видимими. За замовчуванням ніщо не приховано, тому це значення нічого не робить, якщо ви не встановили hidden
для цього або батьківського елемента цього елемента.
прихований
hidden
Значення приховує речі. Це відрізняється від використання display: none
, оскільки hidden
лише візуально приховує елементи. Елемент все ще є і все ще займає місце на сторінці, але ви більше не можете його побачити (на зразок перетворення непрозорості на 0). Цікаво, що ця властивість не успадковується за замовчуванням. Це означає, що, на відміну від властивостей display
або opacity
властивостей, ви можете створити елемент hidden
і все одно мати одного з його дочірніх елементів , як visible
, наприклад:
Зверніть увагу, що батьківський елемент, прихований, не запускає :hover
.
крах
Цей лише впливає на рядки таблиці ( ), групи рядків (як
), стовпці (
), групи стовпців (
) або елементи, зроблені таким чином через
display
).
На відміну від hidden
цього значення це значення приховує піделемент таблиці, не залишаючи місця, де воно було. Якщо він використовується де-небудь, крім піделемента таблиці, він діє як visibility: hidden
.
З цим виникає стільки примх, що важко знати, з чого почати. Просто як закуска:
- Chrome / Safari згорнуть рядок, але простір, який він займав, залишиться. І якщо комірки таблиці всередині мали межу, вона згортається в єдину межу вздовж верхнього краю.
- Chrome / Safari не згортає стовпець або групу стовпців.
- Safari згортає комірку таблиці (неправильно), але Chrome не (правильно).
- У будь-якому браузері, якщо комірка знаходиться в стовпці, який згорнуто (незалежно від того, згортається він чи ні), текст у цій комірці не відображатиметься.
- Opera (до WebKit) зруйнує усе безглузде, окрім комірки таблиці (що правильно).
Є й більше, але в основному: не використовуйте цього ніколи.
успадковувати
Значення за замовчуванням. Це просто змушує елемент успадковувати значення свого батьківського елемента.
Flexbox
visibility: collapse;
використовується також у Flexbox і є більш чітко визначеним.
Підтримка браузера
Основи, не враховуючи всіх примх з розпадом:
Будь-який | Будь-який | Будь-який | 4+ | 4+ | Будь-який | Будь-який |
IE 7- не підтримує collapse
або inherit
.