animation‐directionプロパティを思い出しましょう。そこでは 2 つ
の色の間を行き来するために animation‐directionを利用しました
が、今回は単に reverseを指定してアニメーションを反転させます。下
のコードのように、2 つ目のアニメーションを定義しなくても済むように
なります。
これで完成です。余分な要素が必要になるため、この方法が完全だとい
うわけではありません。しかし、かなり複雑なアニメーションが実質数行
のCSSで実現できました。
▶ PLAY!
play.csssecrets.io/circular‐2elements
要素を1つしか使わない解決策
上の解決策はきちんと機能しますが、HTMLに対して変更が必要である
という本質的な問題を抱えています。このテクニックを思いついた時、筆
者は CSS 作業グループ(当時はまだメンバーではありませんでした)の
メーリングリストに投稿し、 1 つの要素に複数の transform‐originを
指定できるようにすることを提案しました。この指定が可能になると、上
のようなアニメーションを 1 つの要素だけで実現できます。ぜひとも要求
するべき事柄だと筆者は考えました。
@keyframesspin{
to{transform:rotate(1turn);}
}
.avatar{
animation:spin3sinfinitelinear;
transform‐origin: