CSS3过渡 - 为同一个元素添加2个不同的过渡

时间:2013-05-14 14:21:06

标签: css css-transitions

我的CSS3过渡问题:

div.one_fifth{
   border: 1px solid #48484A;
   transition : border 400ms ease-out; 
   -webkit-transition : border 400ms ease-out; 
   -moz-transition : border 400ms ease-out;
   -o-transition : border 400ms ease-out; 
   font-size: 18px;
   transition : font 300ms ease-out; 
   -webkit-transition : font 300ms ease-out; 
   -moz-transition : font 300ms ease-out;
   -o-transition : font 300ms ease-out;
}

 div.one_fifth:hover{
   border: 1px solid #ed2124;
   font-size: 20px;
 }

现在的问题是,当我定义两个转换时,边框一个不起作用...所以看起来两个转换干扰而字体一个覆盖边框一个...我如何整合它们,如果那么,你会用不同的速度(ms)做到这一点?

2 个答案:

答案 0 :(得分:24)

您可以使用单个过渡属性指定2个或多个以逗号分隔的过渡:

JSFiddle Demo

div.one_fifth {
    border: 1px solid #48484A;
    font-size: 18px;
    -webkit-transition : border 400ms ease-out, font 300ms ease-out; 
       -moz-transition : border 400ms ease-out, font 300ms ease-out;
         -o-transition : border 400ms ease-out, font 300ms ease-out; 
            transition : border 400ms ease-out, font 300ms ease-out; 
}
div.one_fifth:hover {
    border: 1px solid #ed2124;
    font-size: 20px;
}

答案 1 :(得分:1)

如果您使用相同的时间并缓和两种转换,则可以使用transition: all;

<强> jsFiddle

div.one_fifth {
    border: 1px solid #48484A;
    font-size: 18px;
    -webkit-transition: all 400ms ease-out; 
       -moz-transition: all 400ms ease-out;
         -o-transition: all 400ms ease-out; 
            transition: all 400ms ease-out; 
}
div.one_fifth:hover {
    border: 1px solid #ed2124;
    font-size: 20px;
}