transformプロパティは translate や rotate、scale などさまざまな値があり、アニメーションをさせる際には、調整が面倒だった。
.before {
transform: translateX(0px) rotate(0deg);
}
/* 既存の値をもう一度書かなくてはいけない */
.after-1 {
transform: translateX(100px) rotate(0deg);
}
/* 値をひとつにする場合は、matrix()を使用して値をひとつにする必要があった */
.after-2 {
transform: matrix( ~~~ );
}
CSSカスタム変数が登場してからは、カスタム変数を利用することで少し便利になった。
:root {
--translateX: 0px;
--rotate: 0deg;
}
.before {
transform: translateX(var(--translateX)) rotate(var(--rotate));
}
.after {
--translateX: 100px;
}
だが、個別のプロパティが誕生したため、今後はほとんどのブラウザで個別指定が簡単になる。
https://caniuse.com/?search=translate
.before {
translate: 0px;
rotate: 0deg;
}
.after {
translate: 100px;
}