Comment pourrais-je faire en sorte qu'une transition CSS ne fonctionne pas dans une requête multimédia, ou dans tout autre cas? Par exemple:
@media (min-width: 200px) {
element {
transition: width 1s;
}
}
@media (min-width: 600px) {
element {
transition: none; // SET TO NO TRANSITION
}
}
Vous pouvez définir transition-property sur none. De cette façon, aucun effet de transition ne sera appliqué.
Comme ça:
-webkit-transition-property: none;
-moz-transition-property: none;
-o-transition-property: none;
transition-property: none;
Encore mieux que de définir transition-property to none is setting transition-duration to s.
Voici le code multi-navigateur:
-webkit-transition-duration: 0s;
-moz-transition-duration: 0s;
-o-transition-duration: 0s;
transition-duration: 0s;
Pourquoi est-ce mieux? Parce que, par défaut, les navigateurs conformes aux normes (tels que Firefox) définissent transition-property à all pour chaque élément. Ils définissent également transition-duration à s. Ainsi, en définissant transition-duration à s, vous correspondez le plus étroitement à la façon dont le navigateur définit un élément sans transition.
La définition de transition-duration sur la valeur par défaut s rend la transition-property non pertinente.
transition: width 0s
Devrait faire l'affaire - car il dit essentiellement qu'il y a une transition, mais 0 est trop rapide pour le voir!