-
stroke-offsetの仕組み stroke-offsetは、SVG(Scalable Vector Graphics)要素の線の描画位置を調整するためのCSSプロパティです。このプロパティを使用すると、線の描画をアニメーション化することができます。しかし、stroke-offsetの初期値は0であり、アニメーションが開始されると、線の描画位置が0から変化していくため、右から左へと描画が進んでいくように見えます。
-
stroke-dasharrayとstroke-dashoffsetの組み合わせ stroke-dasharrayとstroke-dashoffsetの組み合わせを使用することで、stroke-offsetのアニメーションを左から始めることができます。以下に例を示します。
.stroke-animation {
stroke-dasharray: 1000;
stroke-dashoffset: 1000;
animation: dash 5s linear forwards;
}
@keyframes dash {
to {
stroke-dashoffset: 0;
}
}
この例では、stroke-dasharrayを線の全長に設定し、stroke-dashoffsetを線の全長と同じ値に設定しています。そして、アニメーションを定義するためのキーフレームでstroke-dashoffsetを0に変化させることで、線の描画が左から始まるようになります。
- transformプロパティを使用する もう一つの方法として、transformプロパティを使用して要素を水平反転させる方法があります。これにより、stroke-offsetのアニメーションが右からではなく左から始まるように見えます。以下に例を示します。
.stroke-animation {
transform: scaleX(-1);
animation: offset 5s linear forwards;
}
@keyframes offset {
to {
stroke-offset: 1000;
}
}
この例では、要素を水平方向に反転させるためにtransformプロパティのscaleX関数を使用しています。そして、アニメーションを定義するためのキーフレームでstroke-offsetを適切な値に設定することで、線の描画が左から始まるようになります。
以上が、stroke-offsetがアニメーションを右から始める理由とその対処方法のいくつかです。これらの方法を使用することで、stroke-offsetのアニメーションを左から始めることができます。