text
text flip / 3d text rotate
行が3D回転(rotateX)して次のテキストに入れ替わる見出し演出。word-rotate(マスクスライド)との違いは奥行きで、perspectiveとtransform-originの設計が仕上がりを決める。
02 — Prompt template
03 — Params
interval(表示間隔 s) — 範囲 1〜4 / 初期 2.2
2s前後が読みやすい。回転が3Dで目を引くぶん、word-rotateより気持ち長めにとる。duration(回転時間 s) — 範囲 0.3〜1.2 / 初期 0.6
0.5〜0.7sが自然。0.4s以下は回転していることが伝わらず、ただの切替に見える。perspective(奥行き px) — 範囲 200〜1200 / 初期 600
小さいほど遠近が強くパースが誇張される。600px前後が上品。200pxは魚眼のように歪む。
04 — Vocab
perspective — 3D変形の視点距離。親要素に設定する。値が小さいほど近くから見ることになり、遠近感が誇張される。
transform-origin — 回転の軸の位置。50% 0なら上端、50% 100%なら下端を軸に回る。in/outで使い分けると蝶番のような動きになる。
backface-visibility — 要素の裏面を見せるかどうか。hiddenにすると90度を超えて回った瞬間に消え、鏡文字がチラつかない。
rotateX — 横軸(X軸)まわりの回転。見出しの入れ替えではこの軸が定番。rotateYだと縦軸で観音開きのような動きになる。
05 — NG → OK examples
NG
言い方: 「「テキストがくるっと回って切り替わるようにして」」
なぜNG: 「くるっと」が2Dのマスクスライドと解釈されてword-rotateもどきが返ってくるか、perspectiveなしのrotateXでただ潰れて消えるだけの平面的な実装になりがち。transform-origin未指定だと回転の軸もバラバラになる。
OK
言い方: 「「text flipを実装。perspective 600pxの親に単語を重ね、outはrotateX(-90deg)/origin 50% 0、inはrotateX(90deg)→0/origin 50% 100%を0.6s easeで同時に。表示2.2s・無限ループ、reduced-motion時は先頭固定」」
なぜOK: perspectiveの値と、in/outそれぞれの回転方向・transform-originまで指定している。originを上端・下端で使い分ける指示が、蓋がパタンと開閉するような立体感の正体。
