L'utilisation de transition: none
semble être supporté (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émonstration de JS Fiddle .
Testé avec Chromium 12, Opera 11.x et Firefox 5 sur Ubuntu 11.04.
L'adaptation spécifique à l'Opéra est l'utilisation de -o-transition: color 0 ease-in;
qui cible la même propriété que celle spécifiée dans l'autre transition
mais fixe le délai de transition à 0
ce qui empêche effectivement la transition d'être perceptible. L'utilisation de la a.noTransition
est simplement de fournir un sélecteur spécifique pour les éléments sans transitions.
Modifié de noter que La réponse de @Frédéric Hamidi en utilisant all
(pour Opera, au moins) est bien plus concis que d'énumérer 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 all
à l'Opéra : -o-transition: all 0 none
à la suite de l'autodestruction de @Frédéric La réponse de la Commission.