box-shadowをtransitionでアニメーションさせたときに、Firefoxでだけ意図した動きにならないことがあったのでメモ。
サンプルコード
ボタンにオンマウスした時に、押されたような動きを実装してみます。
HTML
<a class="c-button" href="">ボタン</a>
オンマウス時にbox-shadowを消して、ボタンを影の高さ分下に移動して、ボタンを押したような動きにします。
CSS
.c-button { display: block; width: 300px; padding: 15px 0; border-radius: 27px; text-align: center; color: #ffffff; text-decoration: none; background: #3498DB; box-shadow: 0 6px #256a99; transition: 1000ms; } .c-button:hover { transform: translateY(6px); box-shadow: 0 0; }
わかりやすいようにアニメーション速度をゆっくりにしています。
chromeやIEでは問題なかったのですが、Firefoxだけアニメーションしないでぱっと消えてしまいます。
うまくいかなかった場合のデモページ
オンマウス時の指定で色を省略していたことが原因らしく、オンマウス時にも色を指定するようにすると、Firefoxでも意図した動きになりました。
CSS
.c-button:hover { transform: translateY(6px); box-shadow: 0 0 #256a99; }
コメントが承認されるまで時間がかかります。