メインコンテンツまでスキップ

カスタムスタイル要素

カスタムスタイル要素が必要な理由

ここでは、react-animate-observerで使える transform のスタイルを紹介します。
ほとんどは、 JSX で渡せる CSS プロパティで完結しますが、例外があります。

transformプロパティは、translateや、rotateを直接指定することができますが、
translateXや、rotateYなどのようなプロパティは、直接指定することができません。

// 例)translateXは、以下のようにしないといけない🙅‍♂️
<div style={{ transform: 'translateX(100px)' }} />...</div>

これは直感的ではありません 🙅‍♂️

それを補うために、react-animate-observerでは直接指定できるようにしています。
ですので、新しく覚えるようなものではなく、あくまで簡単に指定できるようにしているだけです。

カスタムスタイル要素の一覧

変換前変換後
translateX(${value}px)translateXnumber
translateY(${value}px)translateYnumber
translateZ(${value}px)translateZnumber
rotateX(${value}deg)rotateXnumber
rotateY(${value}deg)rotateYnumber
rotateZ(${value}deg)rotateZnumber
skewX(${value}deg)skewXnumber
skewY(${value}deg)skewYnumber
scaleX(${value})scaleXnumber
scaleY(${value})scaleYnumber
scaleZ(${value})scaleZnumber

カスタムスタイルと表現しましたが実際の中身は CSS スタイルです。

tranistion を別々に指定したい場合

例えば、opacityのみ、0.3 秒で、transformのみ、0.5 秒でアニメーションさせたいとします。
ScrollAnimatortransition は、すべて同じ秒数・タイミングになります。

その際は通常通り、JSX の CSS プロパティで指定してください。

<div style={{ transition:  'opacity .3s ease, transform .5s ease-out' }} />...</div>

次は、HTML タグを指定する方法を紹介します。