No.030
TEXT CSS

Glitch Text

文字が電子的に乱れるグリッチ効果。サイバー・ゲーム・音楽系サイトの見出し演出に。CSSのみで実装。

DEMO

GLITCH

CODE

HTML
<div class="demo-stage gl-stage"><div class="gl-text" data-text="GLITCH">GLITCH</div></div>
CSS
.gl-stage { display:flex; align-items:center; justify-content:center; padding:3rem; background:#1A1A1A; }
.gl-text { position:relative; font-family:'Oswald',sans-serif; font-size:clamp(2.6rem,10vw,5.5rem); font-weight:600; color:#fff; letter-spacing:.06em; }
.gl-text::before, .gl-text::after { content:attr(data-text); position:absolute; top:0; left:0; width:100%; height:100%; }
.gl-text::before { color:#E91B89; animation:gl-1 2.4s infinite linear alternate-reverse; }
.gl-text::after { color:#5BAADE; animation:gl-2 3.1s infinite linear alternate-reverse; }
@keyframes gl-1 { 0%{clip-path:inset(20% 0 60% 0);transform:translateX(-3px)} 20%{clip-path:inset(80% 0 5% 0)} 40%{clip-path:inset(43% 0 40% 0);transform:translateX(3px)} 60%{clip-path:inset(10% 0 75% 0)} 80%{clip-path:inset(55% 0 30% 0);transform:translateX(-2px)} 100%{clip-path:inset(70% 0 15% 0)} }
@keyframes gl-2 { 0%{clip-path:inset(15% 0 70% 0);transform:translateX(2px)} 25%{clip-path:inset(62% 0 25% 0)} 50%{clip-path:inset(35% 0 48% 0);transform:translateX(-3px)} 75%{clip-path:inset(78% 0 8% 0)} 100%{clip-path:inset(25% 0 58% 0);transform:translateX(3px)} }

AI PROMPT

Claude Cursor v0
PROMPT
文字のグリッチ効果をCSSのみで作って。data-text属性に同じ文字を持たせ、::before(ピンク)と::after(青)にcontent:attr(data-text)で複製。各疑似要素にclip-path:inset()を細かく切り替えるkeyframeとtranslateXのズレを与え、別速度のinfinite alternate-reverseで電子ノイズを表現。背景は黒。

BOOKS · PR · AMAZON

📖 なかしまぁ先生のCSSアニメーション入門 📖 UIデザインの心理学 ―わかりやすさ・使いやすさの法則 📖 Fundamentals of Web Animation with GSAP

※当サイトはAmazonアソシエイトプログラムの参加者です。リンクから商品をご購入いただくと、当方に紹介料が発生します。

学びを止めない · AMAZONサブスク

📚 Kindle Unlimited — 技術書・デザイン書が読み放題。30日無料体験 → 🎧 Audible — 移動中に耳で学ぶオーディオブック。30日無料体験 → 📦 Amazon Prime — Prime Reading・配送特典つき。30日無料体験 → 🎵 Music Unlimited — 作業用BGMに。1億曲が聴き放題・30日無料体験 →

※当サイトはAmazonアソシエイトプログラムの参加者です。リンクから商品をご購入いただくと、当方に紹介料が発生します。

グリッチテキスト(Glitch Text)とは

文字が電子的に乱れるグリッチ効果。サイバー・ゲーム・音楽系サイトの見出し演出に。CSSのみで実装。この効果はCSSの@keyframesアニメーションとtransition/transformだけで実装でき、JavaScriptを必要としません。

使いどころ

ヒーローの見出し・キャッチコピー・セクションタイトルなど、視線を集めたいテキストに向く。やりすぎると可読性や操作性を損なうため、目的のある一点に絞って使うのがコツです。

CSS実装のポイント

動きはGPUで処理されやすいtransformとopacityを軸に組み立てると、レイアウトの再計算(リフロー)を避けて滑らかに動きます。width・height・top/leftなど位置やサイズを直接変えるアニメーションは負荷が高いため避けるのが定石です。当サイトのコードはprefers-reduced-motionに対応しており、動きを減らす設定にしている利用者には自動でアニメーションを抑えるよう配慮しています。

CSSとJavaScriptの違い

CSSアニメーションは@keyframesやtransitionで宣言的に書け、ブラウザが最適化するため軽量です。JavaScriptを使う方法は細かい制御やインタラクションに強い反面、コード量が増えやすくなります。この効果はJavaScriptなしのCSSだけで完結するため、読み込みが軽く保守も簡単という利点があります。