テキスト
スクロール加速マーキー
大きな文字の帯が左右交互に流れ続け、スクロールの勢いで加速して傾き、スクロールの向きで流れる方向も変わるマーキー。塗り・輪郭・ピルの3種類の帯を組み合わせられます。
ライセンス MIT
ソースと利用条件は、下の「仕様・利用条件」で確認できます。
この動きの特徴
- スクロール速度で加速と傾き
- スクロール方向で流れが反転
- 短い帯でも隙間なくループ
- 画面外・非表示タブで停止
- JavaScriptなし・動きを減らす設定では静止
導入と調整
使い方
<VelocityMarquee
label="私たちの専門分野"
rows={[
{ items: ['Branding', 'Web Design'], tone: 'fill', speed: 50 },
{ items: ['Editorial', 'Identity'], tone: 'outline', speed: 40 },
{ items: ['ブランディング', 'ウェブ制作'], tone: 'accent', speed: 70 },
]}
/>toneはfill(塗り)、outline(輪郭)、accent(色付きのピル)から選びます。speedは止まっているときの速さ(px/秒)です。偶数行と奇数行は逆向きに流れます。- 各行は2回描画し、2回目は読み上げ対象から外しています。画面が広く足りない場合は、JavaScriptが隠れた複製を追加します。
動きの仕組み
mountVelocityMarquee(root)がrequestAnimationFrameで各行の位置を更新します。位置は1回分の幅で割った余りにするため、どんな長さでも継ぎ目なくループします。- スクロール速度はなめらかにしてから速さに加え、同じ値で
skewXの傾き(最大9度)を付けます。 - 下へスクロールすると通常の向き、上へスクロールすると全行が逆向きに流れます。
- IntersectionObserver で画面外のときと、タブが非表示のときはループを止めます。
調整する箇所
- 配色は
--marquee-bg、--marquee-ink、--marquee-accent、文字の大きさは--marquee-sizeで変更できます。 - 加速の強さは
BOOST、傾きの上限はMAX_SKEW、追従のなめらかさはFOLLOWで調整します。
参考にした傾向
Webデザインクリップ に掲載された国内サイトでよく使われている「スクロールテキスト・マーキー」の表現を参考に、このカタログ用に一から設計・実装しました。特定サイトのコード・画像・文言・配色は使っていません。
利用条件
このカタログ用に書き下ろした実装で、MITライセンスで公開しています。LICENSE、src/Component.astro、src/motion.ts を取得して利用できます。再配布する場合は LICENSE の著作権表示と許諾文を残してください。
仕様・利用条件
仕様
- 分類
- テキスト
- 更新日
- 2026.10.30
- ライセンス
- MIT
- 使用技術
- Astro
ソースと利用条件
公開中許可されたファイルだけを固定した版で参照できます。
- 公開ファイル
- 3件
- ライセンス
- MIT
