No.028
CARD CSS

Content Slide Card

ホバーで画像の上に説明テキストがせり上がるカード。ブログ記事・ポートフォリオのサムネイルに最適。

DEMO

demo
MOUNTAIN
ホバーで説明文がせり上がり、画像はゆっくりズームします。

CODE

HTML
<div class="demo-stage"><div class="cs-card"><img src="https://images.unsplash.com/photo-1517816743773-6e0fd518b4a6?w=600&q=70" alt="demo"><div class="cs-body"><div class="cs-title">MOUNTAIN</div><div class="cs-desc">ホバーで説明文がせり上がり、画像はゆっくりズームします。</div></div></div></div>
CSS
.demo-stage { display:flex; align-items:center; justify-content:center; padding:2.5rem; }
.cs-card { position:relative; width:260px; height:320px; border-radius:16px; overflow:hidden; cursor:pointer; }
.cs-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.cs-card:hover img { transform:scale(1.09); }
.cs-body { position:absolute; left:0; right:0; bottom:0; padding:1.5rem; background:linear-gradient(transparent, rgba(26,26,26,.95)); color:#fff; transform:translateY(62px); transition:transform .5s cubic-bezier(.4,0,.2,1); }
.cs-card:hover .cs-body { transform:translateY(0); }
.cs-title { font-family:'Oswald',sans-serif; font-size:1.4rem; letter-spacing:.1em; }
.cs-desc { font-size:.8rem; line-height:1.6; opacity:0; transition:opacity .4s ease .15s; margin-top:.5rem; }
.cs-card:hover .cs-desc { opacity:.9; }

AI PROMPT

Claude Cursor v0
PROMPT
ホバーで説明文がせり上がる画像カードを作って。.cs-bodyを初期translateY(62px)で隠し、ホバーでtranslateY(0)へ.5s cubic-bezier。説明文はopacity:0→.9を.15s遅延でフェード。画像はホバーでscale(1.09)へ.6s。下部に黒のlinear-gradientを敷いて文字を可読化、overflow:hiddenでクリップ。

BOOKS · PR · AMAZON

📖 なかしまぁ先生のCSSアニメーション入門 📖 マイクロインタラクション ―UI/UXデザインの神が宿る細部 📖 Fundamentals of Web Animation with GSAP

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

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

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

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

コンテンツスライドカード(Content Slide Card)とは

ホバーで画像の上に説明テキストがせり上がるカード。ブログ記事・ポートフォリオのサムネイルに最適。この効果はCSSの@keyframesアニメーションとtransition/transformだけで実装でき、JavaScriptを必要としません。

使いどころ

商品カード・記事一覧・料金プラン・チームメンバー紹介など、カード型UIの一覧表示に向く。やりすぎると可読性や操作性を損なうため、目的のある一点に絞って使うのがコツです。

CSS実装のポイント

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

CSSとJavaScriptの違い

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