So I have the following CSS transitions attached to an element:
a {
-webkit-transition:color 0.1s ease-in, background-color 0.1s ease-in ;
-moz-transition:color 0.1s ease-in, background-color 0.1s ease-in;
-o-transition:color 0.1s ease-in, background-color 0.1s ease-in;
transition:color 0.1s ease-in, background-color 0.1s ease-in;
}
Is there a way to disable these inherited transitions on specific elements?
a.tags { transition: none; }
Doesn’t seem to be doing the job.
The use of
transition: noneseems to be supported (with a specific adjustment for Opera) given the following HTML:…and CSS:
JS Fiddle demo.
Tested with Chromium 12, Opera 11.x and Firefox 5 on Ubuntu 11.04.
The specific adaptation to Opera is the use of
-o-transition: color 0 ease-in;which targets the same property as specified in the othertransitionrules, but sets the transition time to0, which effectively prevents the transition from being noticeable. The use of thea.noTransitionselector is simply to provide a specific selector for the elements without transitions.Edited to note that @Frédéric Hamidi’s answer, using
all(for Opera, at least) is far more concise than listing out each individual property-name that you don’t want to have transition.Updated JS Fiddle demo, showing the use of
allin Opera:-o-transition: all 0 none, following self-deletion of @Frédéric‘s answer.