Ho una situazione che si verifica solo su IE11. Chrome, Firefox, Safari (tablet e telefono) funzionano tutti come previsto. Ho creato una transizione per un pannello (DIV) che scorre dentro/fuori dal lato. Sul pageload NON deve "animare" ma scattare nella posizione appropriata. Ma su IE11, quando la pagina viene caricata, la transizione viene "riprodotta" SOLO se c'è una query multimediale coinvolta con quell'elemento che corrisponde al livello più alto di specificità CSS per il selettore. La cosa strana è che la query multimediale non è nemmeno appropriata (non dovrebbe mai essere applicata quando la pagina viene caricata nel mio test).IE11 attiva la transizione css sul caricamento della pagina quando esiste una query multimediale non applicata
Il semplice codice seguente duplica il mio problema:
CSS
.standard {
transition: all 1s ease-in-out;
transform: rotate(45deg);
width:50px; height:50px; border:1px solid black; background-color:green; margin:3em;
}
button + .standard {
transform: rotate(30deg);
}
button.on + .standard {
transform:rotate(0deg);
}
/* REMOVE THE FOLLOWING COMMENTS to see issue on page load using IE11 - make sure window is larger than 800 pixels */
/*
@media only screen and (max-width:800px) {
button.on + .standard {
background-color:red;
transform:rotate(270deg);
}
}
*/
HTML
<button class="on" onclick="this.classList.toggle('on');">Rotate Test</button>
<div class="standard"> </div>
Quindi, se la dimensione della finestra del browser è più grande di 800 pixel la media query non dovrebbe essere applicato. Tuttavia, IE11 sembra agire come applica la query multimediale e quindi ritorna alla query non-media CSS che effettivamente attiva la transizione. Se il selettore del contenuto della query multimediale non corrisponde al livello più elevato di specificità CSS definito all'esterno della query multimediale, la transizione non verrà osservata al caricamento della pagina (in altre parole se il selettore CSS della query multimediale è meno specifico [ad esempio button + .standard
], non vedrebbe la transizione "riprodotta").
Qualche idea su come impedire questa transizione da "riproduzione" a caricamento pagina usando IE11 senza dover scrivere javascript?
Sì, questo era quello che stavo cercando di evitare – user3546826