是的,为什么不呢。为此,您必须实际上只使用一种转换。
这让你感到困惑:你没有对元素本身应用变换。您将其应用于更改状态(通过 :hover 之类的伪类或使用您希望处于更改状态的样式的另一个类)。请参阅@David 对您的问题的评论。您只更改您想要更改的属性的状态,并且该属性会生成动画。
因此,您可以有效地根据更改的状态选择性地更改它们。
解决方案 1:使用 Javascript(基于您在问题中提供的小提琴)
演示:http://jsfiddle.net/abhitalks/6UE28/4/
相关 CSS:
div{
-webkit-transition: all 1s;
-moz-transition: all 1s;
transition: all 1s;
/* do NOT specify transforms here */
}
相关的jQuery:
$('...').click(function(){
$("#trgt").css({
"-webkit-transform": "scale(0.5)"
});
});
// OR
$('...').click(function(){
$("#trgt").css({
"-webkit-transform": "translate(100px, 100px)"
});
});
// OR
$('...').click(function(){
$("#trgt").css({
"-webkit-transform": "scale(0.5) translate(100px, 100px)"
});
});
解决方案 2:仅使用 CSS
演示 2:http://jsfiddle.net/abhitalks/4pPSw/1/
相关 CSS:
div{
-webkit-transition: all 1s;
-moz-transition: all 1s;
transition: all 1s;
/* do NOT specify transforms here */
}
div:hover {
-webkit-transform: scale(0.5);
}
/* OR */
div:hover {
-webkit-transform: translate(100px, 100px);
}
/* OR */
div:hover {
-webkit-transform: scale(0.5) translate(100px, 100px);
}