CSS Transitionを使うことで、JavaScriptなしでアニメーションを行えるようになりますが、凝ったことをしようとするとハマることがあります。 なお、典型的なパターンとして、「1つのクラスを付け外しする」ことでアニメーションさせるようなものを前提とします。 ふつうにクラスを切り替えた場合 ある意味当たり前なのですが、Transitionが絡まない状態でクラスを切り替えれば、すべての値が新しいクラスで適用されるものに切り替わります。 CSS Transitionの場合 transition:を指定すると、指定したプロパティは即座に変化せず、transitionの指定に従って変化します。ここで注意しないといけないのは、transitionプロパティ自体は、クラスの切り替えと同時に変化してしまう、ということです。つまり、変更後のクラスで適用されるtransitionの指定に従って、