Это довольно простой вопрос, но я не могу найти очень хорошую документацию по свойствам перехода CSS. Вот фрагмент CSS:
.nav a
{
text-transform:uppercase;
text-decoration:none;
color:#d3d3d3;
line-height:1.5 em;
font-size:.8em;
display:block;
text-align:center;
text-shadow: 0 -1.5em 0 rgba(255, 255, 255, 0.15);
-webkit-transition: color .2s linear;
-moz-transition: color .2s linear;
-o-transition: color .2s linear;
transition: color .2s linear;
-webkit-transition: text-shadow .2s linear;
-moz-transition: text-shadow .2s linear;
-o-transition: text-shadow .2s linear;
transition: text-shadow .2s linear;
}
.nav a:hover
{
color:#F7931E;
text-shadow: 0 1.5em 0 rgba(247, 147, 30, 0.15);
}
Как вы можете видеть, свойства перехода переписывают друг друга. Как бы то ни было, текстовая тень будет анимировать, но не цвет. Как мне заставить их одновременно одновременно анимировать? Спасибо за любые ответы.
Свойства перехода разделены запятыми во всех браузерах, поддерживающих переходы:
.nav a {
-webkit-transition: color .2s, text-shadow .2s;
/* And so on... */
}
Ease является значением по умолчанию, поэтому вам не нужно указывать его. Если вы действительно хотите линейный, вам нужно будет указать его, т.е. -webkit-transition: color .2s linear, text-shadow .2s linear
;
Вы также можете просто значительно:
.nav a {
-webkit-transition: all .2s;
}
Что-то вроде следующего позволит несколько переходов одновременно:
-webkit-transition: color .2s linear, text-shadow .2s linear;
-moz-transition: color .2s linear, text-shadow .2s linear;
-o-transition: color .2s linear, text-shadow .2s linear;
transition: color .2s linear, text-shadow .2s linear;
Пример: http://jsbin.com/omogaf/2
Если вы все свойства анимированы одинаково, вы можете установить каждый отдельно, что позволит вам не повторять код.
transition: all 2s;
transition-property: color, text-shadow;
об этом здесь подробнее: Сокращение перехода CSS с несколькими свойствами?
Я бы не использовал свойство all (свойство перехода переписывает "все" ), так как вы можете получить нежелательное поведение и неожиданные хиты производительности.
Не забывайте, что transition: all
очень глючит для сафари /ipad: http://joelglovier.com/writing/solution-for-css-transitions-crashing-safari/
.nav a {
transition: color .2s, text-shadow .2s;
}
Здесь LESS mixin для перехода сразу двух свойств:
.transition-two(@transition1, @transition1-duration, @transition2, @transition2-duration) {
-webkit-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
-moz-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
-o-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
}
transition: all
очень глючит для сафари / iPad: joelglovier.com/writing/…