visibilità è una proprietà animatable secondo la specifica, ma le transizioni sulla visibilità non si lavora a poco a poco, come ci si potrebbe aspettare. Invece le transizioni sulla visibilità ritardano nascondendo un elemento. D'altro canto, rendere visibile un elemento funziona immediatamente. Questo è come è definito dalla specifica (nel caso della funzione di temporizzazione predefinita) e come è implementato nei browser.
Anche questo è un comportamento utile, poiché in effetti si possono immaginare vari effetti visivi per nascondere un elemento. La dissolvenza di un elemento è solo un tipo di effetto visivo specificato usando l'opacità. Altri effetti visivi potrebbero allontanarsi dall'elemento usando per es.la proprietà transform, vedi anche http://taccgl.org/blog/css-transition-visibility.html
È spesso utile combinare la transizione di opacità con una transizione di visibilità! Anche se l'opacità sembra fare la cosa giusta, gli elementi completamente trasparenti (con opacità: 0) continuano a ricevere eventi del mouse. Quindi ad es. i collegamenti su un elemento che era sfumato con una transizione di opacità da solo, rispondono ancora ai clic (anche se non sono visibili) e i collegamenti dietro l'elemento sbiadito non funzionano (sebbene siano visibili attraverso l'elemento sbiadito). Vedi http://taccgl.org/blog/css-transition-opacity-for-fade-effects.html.
Questo strano comportamento può essere evitato semplicemente utilizzando entrambe le transizioni, la transizione sulla visibilità e la transizione su opacità. In tal modo la proprietà visibility viene utilizzata per disabilitare gli eventi del mouse per l'elemento mentre l'opacità viene utilizzata per l'effetto visivo. Tuttavia bisogna fare attenzione a non nascondere l'elemento mentre è in riproduzione l'effetto visivo, che altrimenti non sarebbe visibile. Qui la semantica speciale della transizione di visibilità diventa utile. Quando si nasconde un elemento, l'elemento rimane visibile durante la riproduzione dell'effetto visivo e viene nascosto in seguito. D'altra parte quando si rivela un elemento, la transizione di visibilità rende immediatamente visibile l'elemento, cioè prima di riprodurre l'effetto visivo.
fonte
2016-06-19 07:48:10
quest'ultimo funziona perché l'opzione "opacità" può assumere diversi valori tra "0" e "1", mentre "visibilità" può essere solo "visibile" o "nascosta" (nessun valore intermedio) – fcalderan