Comutați vizibilitatea la ascunderea elementelor - CSS-Tricks

Anonim

Echipa de dezvoltare de la Medium a discutat despre unele practici proaste care întrerup accesibilitatea. Într-un exemplu, ei susțin că opacitynu este bine acceptat de cititoarele de ecran și, prin urmare, dacă dorim să ascundem un element într-o tranziție, ar trebui să folosim întotdeauna și visibilityatributul:

.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; )

Amintiți-vă că opacitatea și vizibilitatea lasă în continuare un element în fluxul documentului. Dacă trebuie să-l eliminați din flux, există mai mult de lucru. De fapt, iată un mod de a te gândi la ele ...

poate face lucrurile invizibile poate face lucrurile de neclicat elimină din fluxul de doc poate fi tranziționat poate fi inversat la copil
opacitate da Nu Nu da Nu
vizibilitate da da Nu da da
afişa da da da Nu Nu
pointer-evenimente Nu da Nu Nu Nu

Dacă trebuie să modificați valoarea de afișare a unui element după o decolorare, este mai dificil. Nu este cu adevărat posibil în CSS, deoarece displaynu este tranzițional. Snook a scris despre acest lucru, inclusiv unele JavaScript pentru a vă ajuta.