Переключити видимість при приховуванні елементів - CSS-хитрощі

Anonim

Команда розробників Medium обговорила деякі погані практики, які порушують доступність. В одному з прикладів вони стверджують, що opacityпрограма для читання з екрана погано підтримується, і тому, якщо ми хочемо приховати елемент у переході, ми також повинні завжди використовувати visibilityатрибут:

.m-fadeOut ( visibility: hidden; opacity: 0; transition: visibility 0s linear 300ms, opacity 300ms; ) .m-fadeIn ( visibility: visible; opacity: 1; transition: visibility 0s linear 0s, opacity 300ms; )

Пам'ятайте, прозорість і видимість все одно залишають елемент у документообігу. Якщо вам потрібно видалити його з потоку, вам доведеться ще попрацювати. Насправді ось спосіб думати про них ...

може зробити річ невидимою може зробити річ незручною видаляє з потоку документів можна перенести можна змінити на дитині
непрозорість так ні ні так ні
видимість так так ні так так
дисплей так так так ні ні
покажчик-події ні так ні ні ні

Якщо вам потрібно змінити відображуване значення елемента після згасання, це жорсткіше. Насправді це неможливо в CSS, оскільки displayне є транзитним. Снук писав про це, включаючи деякі JavaScript для допомоги.