少し短いコードになりましたが、まだ改善できそうです。図8.39 のよ
うに初期状態でアバターが円の中央に置かれているなら、先頭の 2 つの
translateY()は削除できます。これらのトランスフォーム は 、アバ
ターを中央に配置するためのものだからです。削除の結果、コードは次の
ようになります。
少なくとも今日では、これが行える変更のすべてです。最もDRY なわけ
ではありませんが、かなり短いコードにできました。繰り返しは最小限で
あり、余分なHTMLの要素も必要ありません。パスの半径を繰り返し指定
しなくても済むような完全にDRY なコードにするには、プリプロセッサを
利用する必要があります。このためのコードについては、読者への課題と
します。
▶ PLAY!
play.csssecrets.io/circular
.avatar{animation:spin3sinfinitelinear;}
@keyframesspin{
from{
transform:rotate(0turn)
translateY(‐150px)translateY(50%)
rotate(1turn);
}
to{
transform:rotate(1turn)
translateY(‐150px)translateY(50%)
r