Переключить видимость при скрытии элементов - 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как нельзя переходить. Snook написал об этом, в том числе в помощь JavaScript.