L'utilisation de transition: nonesemble être prise en charge (avec un ajustement spécifique pour Opera) étant donné le HTML suivant:
<a href="#" class="transition">Content</a>
<a href="#" class="transition">Content</a>
<a href="#" class="noTransition">Content</a>
<a href="#" class="transition">Content</a>
... et CSS:
a {
color: #f90;
-webkit-transition:color 0.8s ease-in, background-color 0.1s ease-in ;
-moz-transition:color 0.8s ease-in, background-color 0.1s ease-in;
-o-transition:color 0.8s ease-in, background-color 0.1s ease-in;
transition:color 0.8s ease-in, background-color 0.1s ease-in;
}
a:hover {
color: #f00;
-webkit-transition:color 0.8s ease-in, background-color 0.1s ease-in ;
-moz-transition:color 0.8s ease-in, background-color 0.1s ease-in;
-o-transition:color 0.8s ease-in, background-color 0.1s ease-in;
transition:color 0.8s ease-in, background-color 0.1s ease-in;
}
a.noTransition {
-moz-transition: none;
-webkit-transition: none;
-o-transition: color 0 ease-in;
transition: none;
}
Démo de JS Fiddle .
Testé avec Chromium 12, Opera 11.x et Firefox 5 sur Ubuntu 11.04.
L'adaptation spécifique à Opera est l'utilisation de -o-transition: color 0 ease-in;qui cible la même propriété que spécifiée dans les autres transitionrègles, mais définit le temps de transition sur 0, ce qui empêche effectivement la transition d'être perceptible. L'utilisation du a.noTransitionsélecteur consiste simplement à fournir un sélecteur spécifique pour les éléments sans transitions.
Édité pour noter que la réponse de @ Frédéric Hamidi , utiliser all(pour Opera, au moins) est beaucoup plus concis que de lister chaque nom de propriété individuel que vous ne voulez pas avoir de transition.
Mise à jour de la démo de JS Fiddle, montrant l'utilisation de alldans Opera:,-o-transition: all 0 none suite à la suppression automatique de la réponse de @ Frédéric .