Как применить переход CSS3 ко всем свойствам, кроме фона?

Я хотел бы применить переход CSS ко всем свойствам, кроме фона. Я попытался сделать это следующим образом:

.csstransitions a {
    -webkit-transition: all 0.3s ease;                  
    -moz-transition: all 0.3s ease;                 
    -o-transition: all 0.3s ease;   
    -ms-transition: all 0.3s ease;          
    transition: all 0.3s ease;
}

.csstransitions a {
    -webkit-transition: background-position 0s ease 0s;                 
    -moz-transition: background-position 0s ease 0s;                
    -o-transition: background-position 0s ease 0s;  
    -ms-transition: background-position 0s ease 0s;         
    transition: background-position 0s ease 0s;
}

Сначала я задал все свойства для перехода, а затем попытался переписать только переход для свойства background-position.

Однако это также похоже на reset все остальные свойства - так что, по-видимому, ни один из переходов не возникает.

Есть ли способ сделать это без перечисления всех свойств?

Ответ 1

Вот решение, которое также работает на Firefox:

transition: all 0.3s ease, background-position 1ms;

Я сделал небольшую демонстрацию: http://jsfiddle.net/aWzwh/

Ответ 2

Надеюсь, не опоздать. Он выполняется только с одной строкой!

-webkit-transition: all 0.2s ease-in-out, width 0, height 0, top 0, left 0;
-moz-transition: all 0.2s ease-in-out, width 0, height 0, top 0, left 0;
-o-transition: all 0.2s ease-in-out, width 0, height 0, top 0, left 0;
transition: all 0.2s ease-in-out, width 0, height 0, top 0, left 0; 

Это работает в Chrome. Вы должны отделить свойства CSS запятой.

Вот рабочий пример: http://jsfiddle.net/H2jet/

Ответ 3

Попробуйте это...

* {
    transition: all .2s linear;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
}
a {
    -webkit-transition: background-position 1ms linear;
    -moz-transition: background-position 1ms linear;
    -o-transition: background-position 1ms linear;
    transition: background-position 1ms linear;
}

Ответ 4

Try:

-webkit-transition: all .2s linear, background-position 0;

Это сработало для меня на чем-то подобном.

Ответ 5

Вы можете попробовать использовать стандартный способ W3C:

.transition { transition: all 0.2s, top 0s, left 0s, width 0s, height 0s; }

http://jsfiddle.net/H2jet/60/