ホバーしたときに画像を回転させており、遷移をスムーズにしたいので、これを試しました。
<div class="latest-thumbs">
<img src="images/thumbs/thumb01.jpg" alt="thumb" class="rotate" />
<img src="images/thumbs/thumb01.jpg" alt="thumb" class="rotate" />
<img src="images/thumbs/thumb01.jpg" alt="thumb" class="rotate" />
</div><!-- end latest-thumbs -->
CSS:
.rotate {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
-webkit-transform-Origin: 50% 50%;
-moz-transform-Origin: 50% 50%;
-ms-transform-Origin: 50% 50%;
-o-transform-Origin: 50% 50%;
transform-Origin: 50% 50%;
-webkit-transition: 300ms ease all;
-moz-transition: 300ms ease all;
-o-transition: 300ms ease all;
transition: 300ms ease all;
}
.rotate:hover {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transform-Origin: 50% 50%;
-moz-transform-Origin: 50% 50%;
-ms-transform-Origin: 50% 50%;
-o-transform-Origin: 50% 50%;
transform-Origin: 50% 50%;
}
私の画像はホバーすると回転するので、問題はありませんが、遷移がスムーズではありません。これを修正する方法についてのアイデアはありますか?
JSFiddle: http://jsfiddle.net/wntX4/
すべての遷移cssプロパティを変更します(easyをlinearに置き換えます)
transition: 300ms ease all;
と
transition: 300ms linear all;
参照 this
更新
トランジションは、正しい方法で機能している不透明度プロパティのみを対象としています
私はあなたのフィドルでこれを変更しました、そしてそれは機能します:
.rotate:hover {
transform: rotate(0deg) translate(50%);
-moz-transform: rotate(0deg) translate(50%);
-webkit-transform: rotate(0deg) translate(50%);
-o-transform: rotate(0deg) translate(50%);
-ms-transform: rotate(0deg) translate(50%);
-khtml-transform: rotate(0deg) translate(50%);
transition: all 2s ease;
-moz-transition: all 2s ease;
-webkit-transition: all 2s ease;
-o-transition: all 2s ease;
-ms-transition: all 2s ease;
-khtml-transition: all 2s ease;
}
ブラウザが一度に2つのホバーを起動していたと思います。 1歳ですが、また失敗するかもしれません。
transform: translate
(そしてもちろんブラウザ固有のプレフィックス)を使用してみてください。 この記事 はかなり役に立ちます。