LoginSignup
1
1

More than 3 years have passed since last update.

transition プロパティがマウスアウト時に効かない時の対処法

Last updated at Posted at 2020-02-20

要約

  • transition プロパティは :hover に指定してしまうと、マウスアウトした時に瞬時に戻ってしまう
  • ので、アニメーションさせたい要素そのものに transition を指定する

概要

CSSでアニメーションを付与するプロパティには transition と animation プロパティがあります。
複雑なアニメーションには animation が向いていますが、そのまま使うとマウスアウトに巻き戻しが起こらないということもあり、リンクホバーなど簡単なアニメーションでは transition を使う場合が多いと思います。

問題

しかし、transition を使っているのにもかかわらず、マウスアウト時にアニメーションせず、瞬時に戻ってしまう時があります。

原因は transition を付与する場所です。
:hover に transition を指定してしまうと、マウスアウトの時に巻き戻るアニメーションが起こらず、瞬時に戻ってしまいます。
これはtransitionが :hover = マウスオーバー時にのみ有効になっているからです。

例:transition が :hover に指定されている


See the Pen
transition-1-1
by semigura (@semigura)
on CodePen.


解決

これを防ぐには、アニメーションさせたい要素そのものに transition を付与します。

例:transition が要素そのもの に指定されている


See the Pen
transition-1-2
by semigura (@semigura)
on CodePen.


ちなみにこれを逆手に取ると、マウスオーバー/アウト時にアニメーションの動きを変えることが出来ます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1