Växla synlighet när element döljs - CSS-tricks

Anonim

Utvecklingsteamet på Medium har diskuterat några dåliga metoder som bryter tillgängligheten. I ett exempel argumenterar de för att det opacityinte stöds bra av skärmläsare, så om vi vill dölja ett element i en övergång bör vi alltid använda visibilityattributet också:

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

Kom ihåg opacitet och synlighet lämnar fortfarande ett element i dokumentflödet. Om du behöver ta bort det från flödet finns det mer arbete att göra. Här är faktiskt ett sätt att tänka på dem ...

kan göra saken osynlig kan göra saken oklickbar tar bort från dokumentflöde kan överföras kan vändas på barnet
opacitet ya Nej Nej ja Nej
synlighet ya ya Nej ja ja
visa ya ya ya Nej Nej
pekare-händelser Nej ya Nej Nej Nej

Om du behöver ändra visningsvärdet för ett element efter en blekning är det tuffare. Inte riktigt möjligt i CSS eftersom det displayinte går att överföra. Snook har skrivit om detta, inklusive lite JavaScript som hjälp.