理想のサイトをカスタマイズ構築
面倒な基本構造やレスポンシブ対応はテーマに任せ、浮いた時間で「あなたにしかできないこだわりの独自カスタマイズ」をとことん追求してみませんか?
「SWELL」の徹底レビュー・詳細を見る
面倒な基本構造やレスポンシブ対応はテーマに任せ、浮いた時間で「あなたにしかできないこだわりの独自カスタマイズ」をとことん追求してみませんか?
「SWELL」の徹底レビュー・詳細を見る本記事では、カスタマイズ可能なおしゃれなカード型デザインのコードをご紹介します。
HTMLとCSSの両方をコピペすればすぐに利用できます。
コピペしたコードをカスタマイズし、自分好みにぜひ変更してみてください。
レスポンシブ対応や基本レイアウトは最高峰テーマに任せませんか?浮いた時間で、流麗なアニメーションや標準設定を上書きする「あなただけの高度なビジュアル表現」をとことん突き詰めましょう。
「SWELL」であなたのデザインの限界を超えるここでは、以下のブログ・メディア記事カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
ブログの記事一覧や関連記事ブロックで見慣れた、ユーザーにとってクリックしやすい安心感のあるレイアウトです。
<div class="cs-crd-st1-grid">
<a href="#" class="cs-crd-st1-item">
<div class="cs-crd-st1-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x338.png?text=Thumbnail" alt="サムネイル画像">
</div>
<div class="cs-crd-st1-body">
<div class="cs-crd-st1-meta">
<span class="cs-crd-st1-cat">Webデザイン</span>
<span class="cs-crd-st1-date">2026.07.14</span>
</div>
<div class="cs-crd-st1-title">ブログやメディアで大活躍する王道のカード型レイアウトの作り方</div>
</div>
</a>
<a href="#" class="cs-crd-st1-item">
<div class="cs-crd-st1-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x338.png?text=Thumbnail" alt="サムネイル画像">
</div>
<div class="cs-crd-st1-body">
<div class="cs-crd-st1-meta">
<span class="cs-crd-st1-cat">CSS基礎</span>
<span class="cs-crd-st1-date">2026.07.10</span>
</div>
<div class="cs-crd-st1-title">コピペで使える!初心者向けのシンプルなCSSカスタマイズ50選</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st1-grid {
display: grid;
/* 1枚の最小幅を300pxとし、隙間があれば自動で列を増やすコード */
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px; /* カード同士の余白 */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-crd-st1-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0; /* 薄いグレーの枠線 */
border-radius: 8px; /* 角を少し丸める */
overflow: hidden; /* 画像がはみ出さないようにカット */
color: #333333;
transition: box-shadow 0.3s ease, transform 0.3s ease;
}
/* ホバー時の浮き上がりエフェクト */
.cs-crd-st1-item:hover {
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); /* ふんわりとした影 */
transform: translateY(-4px); /* 上に4px動かす */
}
/* =========================================
3. サムネイル画像エリア
========================================= */
.cs-crd-st1-thumb {
width: 100%;
aspect-ratio: 16 / 9; /* 黄金比(16:9)で高さを自動キープ */
overflow: hidden;
background-color: #f7fafc; /* 画像読み込み前の仮背景色 */
}
.cs-crd-st1-thumb img {
width: 100%;
height: 100%;
object-fit: cover; /* 縦横比を維持したまま枠いっぱいにトリミング */
transition: transform 0.4s ease;
}
/* ホバー時に画像を少しだけズームさせる */
.cs-crd-st1-item:hover .cs-crd-st1-thumb img {
transform: scale(1.05);
}
/* =========================================
4. テキスト情報エリア(日付・カテゴリ・タイトル)
========================================= */
.cs-crd-st1-body {
padding: 16px 20px 20px;
}
/* メタ情報(日付とカテゴリの横並び) */
.cs-crd-st1-meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
font-size: 0.75rem;
}
/* カテゴリバッジ */
.cs-crd-st1-cat {
background-color: #2589d0;
color: #ffffff;
padding: 4px 8px;
border-radius: 4px;
font-weight: 700;
letter-spacing: 0.05em;
}
/* 日付 */
.cs-crd-st1-date {
color: #718096;
}
/* タイトル(hタグ不使用) */
.cs-crd-st1-title {
font-size: 1.05rem;
font-weight: 700;
line-height: 1.5;
margin: 0;
color: #1a202c;
transition: color 0.3s ease;
}
/* ホバー時にタイトルの色を変える(お好みで) */
.cs-crd-st1-item:hover .cs-crd-st1-title {
color: #2589d0;
}このデザインは、SaaS企業のブログやモダンなポートフォリオサイトで人気があります。
<div class="cs-crd-st2-grid">
<!-- ▼ カード1枚目 ▼ -->
<a href="#" class="cs-crd-st2-item">
<div class="cs-crd-st2-thumb">
<!-- 少し淡いトーンのプレースホルダー画像 -->
<img src="https://placehold.jp/f7fafc/a0aec0/600x400.png?text=Minimal+Design" alt="サムネイル画像">
</div>
<div class="cs-crd-st2-body">
<div class="cs-crd-st2-date">2026.07.14</div>
<div class="cs-crd-st2-title">余白と影で作る、洗練されたミニマルデザインのカード設計</div>
<div class="cs-crd-st2-desc">枠線を使わず、たっぷりの余白とほんのりとした影だけで要素を区切る手法は、モダンなWebサイトで非常に人気があります。</div>
</div>
</a>
<!-- ▲ カード1枚目 ▲ -->
<!-- ▼ カード2枚目 ▼ -->
<a href="#" class="cs-crd-st2-item">
<div class="cs-crd-st2-thumb">
<img src="https://placehold.jp/f7fafc/a0aec0/600x400.png?text=Minimal+Design" alt="サムネイル画像">
</div>
<div class="cs-crd-st2-body">
<div class="cs-crd-st2-date">2026.07.12</div>
<div class="cs-crd-st2-title">引き算のデザインでコンテンツを際立たせるテクニック</div>
<div class="cs-crd-st2-desc">装飾を極限まで減らすことで、ユーザーの視線を最も重要なテキストや画像に自然に誘導することができます。</div>
</div>
</a>
<!-- ▲ カード2枚目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st2-grid {
display: grid;
/* 最小幅を少し広めの320pxに設定し、ゆとりを持たせる */
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 32px; /* カード同士の余白も王道パターンより広めに設定 */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン(枠線なし+薄い影)
========================================= */
.cs-crd-st2-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: none; /* 枠線を完全に消去 */
border-radius: 12px; /* 丸みを少し強めにして柔らかさを出す */
overflow: hidden;
/* 非常に薄く、広く拡散する影を設定(ミニマルの肝) */
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
/* ホバー時は影を少し濃く・広くし、ふわっと浮き上がらせる */
.cs-crd-st2-item:hover {
transform: translateY(-6px);
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}
/* =========================================
3. サムネイル画像エリア
========================================= */
.cs-crd-st2-thumb {
width: 100%;
/* 写真が美しく見える 3:2 の比率 */
aspect-ratio: 3 / 2;
overflow: hidden;
background-color: #f7fafc;
}
.cs-crd-st2-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s ease;
}
/* ホバー時の画像ズームは控えめに(上品さを重視) */
.cs-crd-st2-item:hover .cs-crd-st2-thumb img {
transform: scale(1.03);
}
/* =========================================
4. テキスト情報エリア(広めの余白)
========================================= */
.cs-crd-st2-body {
/* 上下32px、左右24pxとゆったりとした余白を取る */
padding: 32px 24px;
}
/* 日付表示 */
.cs-crd-st2-date {
font-size: 0.8rem;
color: #a0aec0; /* 悪目立ちしない薄めのグレー */
font-weight: 500;
letter-spacing: 0.05em;
margin-bottom: 12px;
}
/* タイトル */
.cs-crd-st2-title {
font-size: 1.15rem;
font-weight: 700;
line-height: 1.6;
color: #2d3748; /* 真っ黒ではなく、やや青みがかったダークグレー */
margin: 0 0 12px 0;
transition: color 0.3s ease;
}
/* 説明文(抜粋テキスト) */
.cs-crd-st2-desc {
font-size: 0.85rem;
color: #718096;
line-height: 1.7;
margin: 0;
}
/* ホバー時にタイトルの色を少しだけ明るくする */
.cs-crd-st2-item:hover .cs-crd-st2-title {
color: #4a5568;
}このデザインは、縦型のカードよりもテキストエリアを広く取れるため、「記事の内容をしっかり読んでからクリックしてほしい」場合やニュースサイト・検索結果一覧などでよく使われる実用的なレイアウトです。
<div class="cs-crd-st3-list">
<a href="#" class="cs-crd-st3-item">
<div class="cs-crd-st3-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x400.png?text=List+Layout" alt="サムネイル画像">
</div>
<div class="cs-crd-st3-body">
<div class="cs-crd-st3-meta">
<span class="cs-crd-st3-cat">コーディング</span>
<span class="cs-crd-st3-date">2026.07.15</span>
</div>
<div class="cs-crd-st3-title">横長リスト型レイアウトの作り方とレスポンシブ対応のコツ</div>
<div class="cs-crd-st3-desc">左側に画像、右側にテキストを配置するリスト型のレイアウトは、記事の概要をしっかり読ませたい場合に非常に効果的です。スマホ表示時の縦積み切り替えもCSSのFlexboxで簡単に実装できます。</div>
</div>
</a>
<a href="#" class="cs-crd-st3-item">
<div class="cs-crd-st3-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x400.png?text=List+Layout" alt="サムネイル画像">
</div>
<div class="cs-crd-st3-body">
<div class="cs-crd-st3-meta">
<span class="cs-crd-st3-cat">Webデザイン</span>
<span class="cs-crd-st3-date">2026.07.12</span>
</div>
<div class="cs-crd-st3-title">ユーザーの視線を誘導するZ型・F型レイアウトの基礎知識</div>
<div class="cs-crd-st3-desc">Webサイトを閲覧する際のユーザーの視線の動きには一定の法則があります。これらの法則を理解し、重要な情報を適切な位置に配置することで、回遊率やコンバージョン率を向上させることが可能です。</div>
</div>
</a>
</div>/* =========================================
1. リスト全体の大枠(縦に並べるコンテナ)
========================================= */
.cs-crd-st3-list {
display: flex;
flex-direction: column; /* アイテムを縦方向に積んでいく */
gap: 20px; /* アイテム同士の上下の余白 */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. リストアイテム本体のデザイン
========================================= */
.cs-crd-st3-item {
display: flex; /* 画像とテキストを横並びにする要 */
align-items: stretch; /* 子要素の高さを揃える */
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.cs-crd-st3-item:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); /* ホバーで薄い影 */
transform: translateY(-2px); /* 少しだけ浮かす */
}
/* =========================================
3. 左側:サムネイル画像エリア
========================================= */
.cs-crd-st3-thumb {
width: 280px; /* PC時の画像の幅を固定(お好みで調整) */
flex-shrink: 0; /* 画面が狭くなっても画像を縮小させない */
position: relative;
overflow: hidden;
background-color: #f7fafc;
}
.cs-crd-st3-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
/* 絶対配置にして高さを100%に保つ */
position: absolute;
top: 0;
left: 0;
transition: transform 0.4s ease;
}
.cs-crd-st3-item:hover .cs-crd-st3-thumb img {
transform: scale(1.05); /* ホバーで画像を少しズーム */
}
/* =========================================
4. 右側:テキスト情報エリア
========================================= */
.cs-crd-st3-body {
flex-grow: 1; /* 余った幅をすべてテキストエリアにする */
padding: 24px;
display: flex;
flex-direction: column;
justify-content: center; /* テキストを上下中央に配置 */
}
/* メタ情報(カテゴリ・日付) */
.cs-crd-st3-meta {
display: flex;
align-items: center;
gap: 12px; /* カテゴリと日付の隙間 */
margin-bottom: 12px;
font-size: 0.75rem;
}
.cs-crd-st3-cat {
background-color: #e6f2ff; /* 薄い青背景 */
color: #2589d0; /* 濃い青文字 */
padding: 4px 10px;
border-radius: 20px; /* 丸みのあるバッジ風 */
font-weight: 700;
}
.cs-crd-st3-date {
color: #718096;
}
/* タイトル(hタグ不使用) */
.cs-crd-st3-title {
font-size: 1.15rem;
font-weight: 700;
line-height: 1.5;
margin: 0 0 10px 0;
color: #1a202c;
transition: color 0.3s ease;
}
.cs-crd-st3-item:hover .cs-crd-st3-title {
color: #2589d0;
}
/* 説明文(抜粋テキスト) */
.cs-crd-st3-desc {
font-size: 0.85rem;
color: #4a5568;
line-height: 1.6;
margin: 0;
/* 3行で三点リーダー(...)にする指定 */
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* =========================================
5. レスポンシブ対応(スマホで縦積みにする)
========================================= */
@media screen and (max-width: 600px) {
.cs-crd-st3-item {
flex-direction: column; /* 画像とテキストを縦並びに変更 */
}
.cs-crd-st3-thumb {
width: 100%; /* スマホ時は画像を横幅いっぱいにする */
padding-top: 56.25%; /* 16:9の比率で高さを確保(100% * 9/16) */
}
.cs-crd-st3-body {
padding: 20px 15px; /* スマホ用に余白を調整 */
}
.cs-crd-st3-title {
font-size: 1.05rem; /* タイトルも少し小さく */
}
.cs-crd-st3-desc {
-webkit-line-clamp: 2; /* スマホ時は2行でカット */
}
}このレイアウトは、画像がカード全体を覆うため視覚的なインパクトが強く、デザイン性が求められるポートフォリオサイト、旅行・ファッション系のメディア、またはトップページの目立つ位置でよく使われます。
<div class="cs-crd-st4-grid">
<a href="#" class="cs-crd-st4-item">
<div class="cs-crd-st4-bg">
<img src="https://placehold.jp/2d3748/ffffff/600x800.png?text=Background+Image" alt="サムネイル画像">
</div>
<div class="cs-crd-st4-overlay"></div>
<div class="cs-crd-st4-body">
<div class="cs-crd-st4-meta">
<span class="cs-crd-st4-cat">CSSアニメーション</span>
<span class="cs-crd-st4-date">2026.07.16</span>
</div>
<div class="cs-crd-st4-title">視覚的なインパクトを与える!画像背景オーバーレイカードの作り方</div>
</div>
</a>
<a href="#" class="cs-crd-st4-item">
<div class="cs-crd-st4-bg">
<img src="https://placehold.jp/2d3748/ffffff/600x800.png?text=Background+Image" alt="サムネイル画像">
</div>
<div class="cs-crd-st4-overlay"></div>
<div class="cs-crd-st4-body">
<div class="cs-crd-st4-meta">
<span class="cs-crd-st4-cat">UIデザイン</span>
<span class="cs-crd-st4-date">2026.07.13</span>
</div>
<div class="cs-crd-st4-title">文字の可読性を保つためのグラデーション・マスクの効果的な使い方</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st4-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-crd-st4-item {
position: relative;
display: block;
text-decoration: none !important;
border-radius: 12px;
overflow: hidden;
aspect-ratio: 3 / 4;
/* ▼▼ 追加:巨大化を防ぐストッパー ▼▼ */
width: 100%;
max-width: 400px; /* これ以上は大きくならないように制限 */
margin: 0 auto; /* 1列になった時に中央に配置 */
/* ▲▲ 追加ここまで ▲▲ */
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時の浮き上がり */
.cs-crd-st4-item:hover {
transform: translateY(-4px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}
/* =========================================
3. 背景画像エリア
========================================= */
.cs-crd-st4-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1; /* 最背面に設定 */
}
.cs-crd-st4-bg img {
width: 100%;
height: 100%;
object-fit: cover; /* 縦横比を維持して枠内を埋める */
transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); /* ゆっくり滑らかにズーム */
}
/* ホバーで画像を少しズーム */
.cs-crd-st4-item:hover .cs-crd-st4-bg img {
transform: scale(1.08);
}
/* =========================================
4. 黒いグラデーション・オーバーレイ
========================================= */
.cs-crd-st4-overlay {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 60%; /* 下半分だけをカバー */
/* 透明から半透明の黒へのグラデーション */
background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
z-index: 2; /* 画像の上に重ねる */
transition: opacity 0.3s ease;
}
/* ホバーでグラデーションを少し濃くする */
.cs-crd-st4-item:hover .cs-crd-st4-overlay {
background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
}
/* =========================================
5. テキスト情報エリア
========================================= */
.cs-crd-st4-body {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 24px;
box-sizing: border-box;
z-index: 3; /* 一番手前に表示 */
color: #ffffff; /* 文字はすべて白 */
display: flex;
flex-direction: column;
justify-content: flex-end;
}
/* メタ情報(カテゴリ・日付) */
.cs-crd-st4-meta {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
font-size: 0.75rem;
}
.cs-crd-st4-cat {
background-color: rgba(255, 255, 255, 0.2); /* 半透明の白背景 */
backdrop-filter: blur(4px); /* すりガラス効果でおしゃれに */
color: #ffffff;
padding: 4px 10px;
border-radius: 4px;
font-weight: 700;
}
.cs-crd-st4-date {
color: rgba(255, 255, 255, 0.8);
}
/* タイトル */
.cs-crd-st4-title {
font-size: 1.15rem;
font-weight: 700;
line-height: 1.5;
margin: 0;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* 文字にもドロップシャドウをつけ、さらに読みやすく */
}このデザインは、アイキャッチ画像の左上にカテゴリのバッジ(ラベル)を絶対配置(position: absolute;)で重ねることで、ニュースサイトやWebマガジンのようなリッチで洗練された印象を与える定番スタイルです。
<div class="cs-crd-st5-grid">
<a href="#" class="cs-crd-st5-item">
<div class="cs-crd-st5-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x338.png?text=Magazine+Style" alt="サムネイル画像">
<span class="cs-crd-st5-badge">Webデザイン</span>
</div>
<div class="cs-crd-st5-body">
<div class="cs-crd-st5-date">2026.07.14</div>
<div class="cs-crd-st5-title">バッジを重ねて作るマガジン風レイアウト</div>
</div>
</a>
<a href="#" class="cs-crd-st5-item">
<div class="cs-crd-st5-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x338.png?text=Magazine+Style" alt="サムネイル画像">
<span class="cs-crd-st5-badge">CSSカスタマイズ</span>
</div>
<div class="cs-crd-st5-body">
<div class="cs-crd-st5-date">2026.07.11</div>
<div class="cs-crd-st5-title">絶対配置を活用したラベルデザインの実装手順</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st5-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-crd-st5-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
/* マガジン風は境界線をなくし、ごく薄い影をつけるのがトレンド */
border: none;
border-radius: 8px;
overflow: hidden;
color: #333333;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時の浮き上がりエフェクト */
.cs-crd-st5-item:hover {
transform: translateY(-4px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
/* =========================================
3. サムネイル画像エリア & バッジ
========================================= */
.cs-crd-st5-thumb {
position: relative; /* バッジを絶対配置するための基準点 */
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background-color: #f7fafc;
}
.cs-crd-st5-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
/* ホバーで画像を少しズーム */
.cs-crd-st5-item:hover .cs-crd-st5-thumb img {
transform: scale(1.05);
}
/* ━━ 画像に重なるバッジ ━━ */
.cs-crd-st5-badge {
position: absolute;
top: 0;
left: 0;
/* アクセントカラー。お好みで変更してください */
background-color: #2589d0;
color: #ffffff;
font-size: 0.75rem;
font-weight: 700;
padding: 6px 12px;
/* 右下だけ角丸にしてリッチ感を出す */
border-bottom-right-radius: 8px;
z-index: 2; /* 画像より前面に出す */
letter-spacing: 0.05em;
box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
}
/* =========================================
4. テキスト情報エリア
========================================= */
.cs-crd-st5-body {
padding: 16px 20px 20px;
}
/* 日付 */
.cs-crd-st5-date {
font-size: 0.75rem;
color: #a0aec0;
margin-bottom: 8px;
display: flex;
align-items: center;
}
/* 時計アイコンを擬似要素で表現(CSSのみ) */
.cs-crd-st5-date::before {
content: "";
display: inline-block;
width: 12px;
height: 12px;
margin-right: 6px;
border: 1.5px solid #a0aec0;
border-radius: 50%;
position: relative;
}
.cs-crd-st5-date::after {
content: "";
position: absolute;
width: 4px;
height: 1.5px;
background-color: #a0aec0;
left: 26px; /* paddingやmarginに応じて微調整が必要な場合があります */
margin-top: 1px;
transform-origin: left;
transform: rotate(45deg);
}
/* タイトル */
.cs-crd-st5-title {
font-size: 1.1rem;
font-weight: 700;
line-height: 1.5;
margin: 0;
color: #1a202c;
transition: color 0.3s ease;
}
/* ホバー時にタイトルの色を変える */
.cs-crd-st5-item:hover .cs-crd-st5-title {
color: #2589d0;
}このデザインは、あえて画像とテキストの横幅を揃えず、テキストボックスを画像の上に少し被せる(オーバーラップさせる)ように配置するスタイルです。
<div class="cs-crd-st6-grid">
<a href="#" class="cs-crd-st6-item">
<div class="cs-crd-st6-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x400.png?text=Asymmetric" alt="サムネイル画像">
</div>
<div class="cs-crd-st6-body">
<div class="cs-crd-st6-meta">
<span class="cs-crd-st6-date">2026.07.14</span>
</div>
<div class="cs-crd-st6-title">ネガティブマージンで作る、立体的なずらしレイアウトの設計法</div>
</div>
</a>
<a href="#" class="cs-crd-st6-item">
<div class="cs-crd-st6-thumb">
<img src="https://placehold.jp/eef3f6/2589d0/600x400.png?text=Asymmetric" alt="サムネイル画像">
</div>
<div class="cs-crd-st6-body">
<div class="cs-crd-st6-meta">
<span class="cs-crd-st6-date">2026.07.09</span>
</div>
<div class="cs-crd-st6-title">脱・量産型!ポートフォリオをワンランク引き上げるCSSテクニック</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st6-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 40px; /* ずらした要素同士がぶつからないよう余白は広めに */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-crd-st6-item {
display: block;
text-decoration: none !important;
position: relative;
/* overflow: hidden; は絶対に入れない(テキストボックスのはみ出しが切れるため) */
color: #333333;
}
/* =========================================
3. サムネイル画像エリア(左側に寄せる)
========================================= */
.cs-crd-st6-thumb {
width: 90%; /* あえて100%にせず、右側に10%の空間を空ける */
aspect-ratio: 3 / 2;
overflow: hidden;
border-radius: 8px;
background-color: #f7fafc;
/* 画像にも少し影をつけて立体感を強調 */
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.cs-crd-st6-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
/* ホバー時の画像ズーム */
.cs-crd-st6-item:hover .cs-crd-st6-thumb img {
transform: scale(1.05);
}
/* =========================================
4. テキスト情報エリア(右側に寄せて上に被せる)
========================================= */
.cs-crd-st6-body {
position: relative;
z-index: 2; /* 画像より手前に出す */
width: 85%; /* 画像より少し狭い幅にする */
margin-top: -40px; /* ★ここで画像の上に食い込ませる(ネガティブマージン)★ */
margin-left: auto; /* ★左側の余白を自動にし、右寄せにする★ */
background-color: #ffffff;
padding: 24px;
border-radius: 8px;
box-sizing: border-box;
/* 浮き上がっているように見せる強めのドロップシャドウ */
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時にテキストボックスだけがフワッと浮き上がる */
.cs-crd-st6-item:hover .cs-crd-st6-body {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}
/* メタ情報(日付) */
.cs-crd-st6-meta {
margin-bottom: 12px;
font-size: 0.8rem;
color: #2589d0; /* アクセントカラーで引き締める */
font-weight: 700;
letter-spacing: 0.05em;
}
/* タイトル */
.cs-crd-st6-title {
font-size: 1.1rem;
font-weight: 700;
line-height: 1.6;
margin: 0;
color: #1a202c;
transition: color 0.3s ease;
}
.cs-crd-st6-item:hover .cs-crd-st6-title {
color: #2589d0;
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 500px) {
.cs-crd-st6-body {
width: 92%; /* スマホ時は幅を少し広げて読みやすくする */
padding: 20px 15px;
margin-top: -30px; /* 被さる量も少し控えめに */
}
}お知らせ(NEWS)ページ、技術系ブログの小ネタ、またはテキストの質で勝負するコラム記事などで活躍するレイアウトです。
<div class="cs-crd-st7-grid">
<a href="#" class="cs-crd-st7-item">
<div class="cs-crd-st7-meta">
<span class="cs-crd-st7-cat">お知らせ</span>
<span class="cs-crd-st7-date">2026.07.14</span>
</div>
<div class="cs-crd-st7-title">Webデザインギャラリーページを新規公開しました</div>
<div class="cs-crd-st7-desc">日々の制作に役立つHTML/CSSのコピペスニペットをまとめたギャラリーページを新設しました。今後もレイアウトパターンを随時追加していきます。</div>
</a>
<a href="#" class="cs-crd-st7-item">
<div class="cs-crd-st7-meta">
<span class="cs-crd-st7-cat">コラム</span>
<span class="cs-crd-st7-date">2026.07.10</span>
</div>
<div class="cs-crd-st7-title">画像に頼らない「タイポグラフィ」の基本と余白の取り方</div>
<div class="cs-crd-st7-desc">アイキャッチ画像がない場合、ユーザーの視線は文字そのものに集中します。行間や文字間隔、要素間のパディングを最適化することで、テキストだけでも美しいレイアウトが可能です。</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-crd-st7-grid {
display: grid;
/* テキストメインなので、少し広めの幅を確保 */
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン(画像なし特化)
========================================= */
.cs-crd-st7-item {
display: flex;
flex-direction: column;
text-decoration: none !important;
background-color: #ffffff;
/* 周りはごく薄い枠線にし、左側だけ太いアクセントラインを引く */
border: 1px solid #e2e8f0;
border-left: 5px solid #2589d0;
border-radius: 6px;
padding: 24px 24px 24px 20px; /* 左枠線の太さを考慮した余白 */
color: #333333;
transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}
/* ホバー時に右へスライドし、背景色をほんのり変える */
.cs-crd-st7-item:hover {
transform: translateX(6px); /* 上ではなく右に動かす */
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
background-color: #f8fbff; /* 極めて薄い青背景 */
}
/* =========================================
3. テキスト情報エリア
========================================= */
/* メタ情報(カテゴリ・日付) */
.cs-crd-st7-meta {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
font-size: 0.75rem;
}
.cs-crd-st7-cat {
background-color: #edf2f7;
color: #4a5568;
padding: 4px 10px;
border-radius: 4px;
font-weight: 700;
transition: background-color 0.3s ease, color 0.3s ease;
}
.cs-crd-st7-date {
color: #a0aec0;
}
/* タイトル */
.cs-crd-st7-title {
font-size: 1.15rem;
font-weight: 700;
line-height: 1.5;
margin: 0 0 12px 0;
color: #1a202c;
transition: color 0.3s ease;
}
/* 説明文(抜粋テキスト) */
.cs-crd-st7-desc {
font-size: 0.85rem;
color: #718096;
line-height: 1.6;
margin: 0;
/* 読ませる前提なので、少し余裕を持たせて3行でカット */
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* =========================================
4. ホバー時の連動アクション
========================================= */
.cs-crd-st7-item:hover .cs-crd-st7-title {
color: #2589d0;
}
.cs-crd-st7-item:hover .cs-crd-st7-cat {
background-color: #2589d0;
color: #ffffff; /* ホバー時にカテゴリバッジも目立たせる */
}ここでは、以下のEC・商品紹介カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
ECサイトでは「商品の見た目」と「価格」を最短で伝えることが最優先となるため、ブログ記事のような抜粋文や日付などは省き、商品画像が最も際立つように設計しています。
<div class="cs-ec-st1-grid">
<a href="#" class="cs-ec-st1-item">
<div class="cs-ec-st1-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+A" alt="商品画像">
</div>
<div class="cs-ec-st1-body">
<div class="cs-ec-st1-name">高品質クラフトトートバッグ(キャンバス地・A4対応)</div>
<div class="cs-ec-st1-price">
<span class="cs-ec-st1-price-current">¥5,800</span>
<span class="cs-ec-st1-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st1-item">
<div class="cs-ec-st1-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+B" alt="商品画像">
</div>
<div class="cs-ec-st1-body">
<div class="cs-ec-st1-name">オーガニックコットンの無地Tシャツ / ユニセックス</div>
<div class="cs-ec-st1-price">
<span class="cs-ec-st1-price-current">¥3,200</span>
<span class="cs-ec-st1-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st1-item">
<div class="cs-ec-st1-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+C" alt="商品画像">
</div>
<div class="cs-ec-st1-body">
<div class="cs-ec-st1-name">ステンレス製 真空断熱タンブラー 450ml</div>
<div class="cs-ec-st1-price">
<span class="cs-ec-st1-price-current">¥2,400</span>
<span class="cs-ec-st1-price-tax">(税込)</span>
</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st1-grid {
display: grid;
/* ECサイトのように、少し小さめでたくさん並べられるように最小幅を200pxに設定 */
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px; /* 横も縦も少し詰めた余白で一覧性を高める */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-ec-st1-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #f1f5f9; /* 非常に薄いグレーの枠線で清潔感を出す */
border-radius: 8px;
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
/* ホバー時は枠線の色を少し濃くし、うっすら影を落とす */
.cs-ec-st1-item:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
border-color: #cbd5e1;
}
/* =========================================
3. 商品画像エリア
========================================= */
.cs-ec-st1-thumb {
width: 100%;
/* どんな画像が来ても正方形(1:1)の枠を維持する */
aspect-ratio: 1 / 1;
background-color: #f8fafc;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.cs-ec-st1-thumb img {
width: 100%;
height: 100%;
/* 画像が見切れないように枠内に収める(ECサイトで主流の指定) */
object-fit: contain;
padding: 12px; /* 画像が枠のギリギリまで来ないよう余白を持たせる */
box-sizing: border-box;
transition: transform 0.4s ease;
}
/* ホバー時に画像を少しだけ手前に寄せる(ズーム) */
.cs-ec-st1-item:hover .cs-ec-st1-thumb img {
transform: scale(1.05);
}
/* =========================================
4. 商品情報エリア
========================================= */
.cs-ec-st1-body {
padding: 12px 16px 16px;
text-align: center; /* 商品情報は中央揃えが王道 */
}
/* 商品名(hタグ不使用) */
.cs-ec-st1-name {
font-size: 0.85rem;
font-weight: 500;
line-height: 1.4;
color: #1a202c;
margin: 0 0 10px 0;
/* 商品名が長い場合は2行で「...」と省略させる */
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 2.8em; /* 2行分の高さを固定し、カードの高さを揃える */
transition: color 0.3s ease;
}
.cs-ec-st1-item:hover .cs-ec-st1-name {
color: #2589d0;
}
/* 価格表示ブロック */
.cs-ec-st1-price {
font-size: 1rem;
font-weight: 700;
color: #111111;
display: flex;
justify-content: center;
align-items: baseline; /* 数字と(税込)のベースラインを揃える */
gap: 4px;
}
/* 現在の価格(メインの数字) */
.cs-ec-st1-price-current {
font-size: 1.15rem;
letter-spacing: 0.02em;
}
/* 税込表記(小さく表示) */
.cs-ec-st1-price-tax {
font-size: 0.7rem;
font-weight: 400;
color: #94a3b8;
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
/* 非常に狭い画面では2列になると潰れるため、カードデザインを微調整 */
.cs-ec-st1-grid {
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 12px;
}
.cs-ec-st1-body {
padding: 10px 8px 12px;
}
.cs-ec-st1-name {
font-size: 0.8rem;
}
.cs-ec-st1-price-current {
font-size: 1rem;
}
}ECサイトでコンバージョン(購入・クリック)を強く後押しするために必須となるデザインです。
<div class="cs-ec-st2-grid">
<a href="#" class="cs-ec-st2-item">
<div class="cs-ec-st2-thumb">
<span class="cs-ec-st2-ribbon">20% OFF</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Sale+Item" alt="商品画像">
</div>
<div class="cs-ec-st2-body">
<div class="cs-ec-st2-name">高品質クラフトトートバッグ(限定カラー)</div>
<div class="cs-ec-st2-price">
<span class="cs-ec-st2-price-old">¥5,800</span>
<span class="cs-ec-st2-price-new">¥4,640</span>
<span class="cs-ec-st2-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st2-item">
<div class="cs-ec-st2-thumb">
<span class="cs-ec-st2-ribbon">SALE</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Sale+Item" alt="商品画像">
</div>
<div class="cs-ec-st2-body">
<div class="cs-ec-st2-name">オーガニックコットンの無地Tシャツ</div>
<div class="cs-ec-st2-price">
<span class="cs-ec-st2-price-old">¥3,200</span>
<span class="cs-ec-st2-price-new">¥2,500</span>
<span class="cs-ec-st2-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st2-item">
<div class="cs-ec-st2-thumb">
<span class="cs-ec-st2-ribbon">半額</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Sale+Item" alt="商品画像">
</div>
<div class="cs-ec-st2-body">
<div class="cs-ec-st2-name">ステンレス製 真空断熱タンブラー 450ml</div>
<div class="cs-ec-st2-price">
<span class="cs-ec-st2-price-old">¥2,400</span>
<span class="cs-ec-st2-price-new">¥1,200</span>
<span class="cs-ec-st2-price-tax">(税込)</span>
</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st2-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-ec-st2-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden; /* はみ出したリボンの端をカットするために必須 */
color: #333333;
transition: box-shadow 0.3s ease, transform 0.3s ease;
}
/* ホバー時に少し浮き上がらせる */
.cs-ec-st2-item:hover {
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
transform: translateY(-4px);
}
/* =========================================
3. 商品画像エリア & 斜めリボン
========================================= */
.cs-ec-st2-thumb {
position: relative; /* リボンの絶対配置の基準とする */
width: 100%;
aspect-ratio: 1 / 1;
background-color: #f8fafc;
display: flex;
justify-content: center;
align-items: center;
}
.cs-ec-st2-thumb img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 12px;
box-sizing: border-box;
transition: transform 0.4s ease;
}
.cs-ec-st2-item:hover .cs-ec-st2-thumb img {
transform: scale(1.05);
}
/* ━━ 斜めリボン(CSSのみで実装) ━━ */
.cs-ec-st2-ribbon {
position: absolute;
top: 18px; /* 上からの位置 */
left: -32px; /* 左からの位置(マイナスにして外にはみ出させる) */
width: 130px; /* リボンの長さ */
background-color: #e53e3e; /* コンバージョンを促すセール用の赤 */
color: #ffffff;
font-size: 0.75rem;
font-weight: 700;
text-align: center;
padding: 6px 0;
transform: rotate(-45deg); /* 左に45度傾ける */
z-index: 2; /* 画像より手前に表示 */
letter-spacing: 0.05em;
box-shadow: 0 2px 6px rgba(0,0,0,0.2); /* リボン自体に影をつけて立体感を出す */
}
/* =========================================
4. 商品情報 & 価格エリア
========================================= */
.cs-ec-st2-body {
padding: 16px;
text-align: center;
}
/* 商品名 */
.cs-ec-st2-name {
font-size: 0.85rem;
font-weight: 500;
line-height: 1.5;
color: #1a202c;
margin: 0 0 12px 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 3em; /* 2行分の高さを固定 */
transition: color 0.3s ease;
}
.cs-ec-st2-item:hover .cs-ec-st2-name {
color: #e53e3e; /* ホバーで赤くしてセールのワクワク感を演出 */
}
/* 価格表示ブロック全体 */
.cs-ec-st2-price {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: baseline;
gap: 6px;
}
/* 旧価格(打ち消し線) */
.cs-ec-st2-price-old {
font-size: 0.8rem;
color: #a0aec0;
text-decoration: line-through; /* 中央に打ち消し線を引く */
}
/* セール価格(赤字で大きく) */
.cs-ec-st2-price-new {
font-size: 1.25rem;
font-weight: 700;
color: #e53e3e;
letter-spacing: 0.02em;
}
/* 税込表記 */
.cs-ec-st2-price-tax {
font-size: 0.7rem;
color: #718096;
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
.cs-ec-st2-grid {
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 12px;
}
.cs-ec-st2-body {
padding: 12px 10px;
}
.cs-ec-st2-name {
font-size: 0.8rem;
}
/* スマホ画面で窮屈にならないように改行を許可 */
.cs-ec-st2-price {
flex-direction: column;
align-items: center;
gap: 2px;
}
.cs-ec-st2-price-new {
font-size: 1.15rem;
}
}ECサイトにおいて、「一覧画面から直接カートに入れる」「気になったものをとりあえずお気に入り(ウィッシュリスト)に登録する」という機能は、ユーザーの離脱を防ぎ売上を上げる重要なUIです。
<div class="cs-ec-st3-grid">
<div class="cs-ec-st3-item">
<div class="cs-ec-st3-thumb">
<a href="#" class="cs-ec-st3-link">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+A" alt="商品画像">
</a>
<a href="#" class="cs-ec-st3-fav" aria-label="お気に入りに追加">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg>
</a>
</div>
<div class="cs-ec-st3-body">
<a href="#" class="cs-ec-st3-name">高品質クラフトトートバッグ(キャンバス地)</a>
<div class="cs-ec-st3-bottom">
<div class="cs-ec-st3-price">
<span class="cs-ec-st3-price-current">¥5,800</span>
</div>
<a href="#" class="cs-ec-st3-cart" aria-label="カートに入れる">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg>
</a>
</div>
</div>
</div>
<div class="cs-ec-st3-item">
<div class="cs-ec-st3-thumb">
<a href="#" class="cs-ec-st3-link">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+B" alt="商品画像">
</a>
<a href="#" class="cs-ec-st3-fav" aria-label="お気に入りに追加">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg>
</a>
</div>
<div class="cs-ec-st3-body">
<a href="#" class="cs-ec-st3-name">オーガニックコットンの無地Tシャツ / ユニセックス</a>
<div class="cs-ec-st3-bottom">
<div class="cs-ec-st3-price">
<span class="cs-ec-st3-price-current">¥3,200</span>
</div>
<a href="#" class="cs-ec-st3-cart" aria-label="カートに入れる">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg>
</a>
</div>
</div>
</div>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st3-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); /* アイコンがある分少し幅広めに */
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-ec-st3-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px; /* 少し大きめの角丸で親しみやすく */
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.cs-ec-st3-item:hover {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
border-color: #cbd5e1;
}
/* =========================================
3. 商品画像エリア & お気に入りボタン
========================================= */
.cs-ec-st3-thumb {
position: relative; /* ハートボタンの配置基準 */
width: 100%;
aspect-ratio: 1 / 1;
background-color: #f8fafc;
}
.cs-ec-st3-link {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.cs-ec-st3-link img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 16px;
box-sizing: border-box;
transition: transform 0.4s ease;
}
/* ホバー時の画像ズーム */
.cs-ec-st3-item:hover .cs-ec-st3-link img {
transform: scale(1.05);
}
/* ━━ お気に入り(ハート)ボタン ━━ */
.cs-ec-st3-fav {
position: absolute;
top: 12px;
right: 12px;
width: 36px;
height: 36px;
background-color: #ffffff;
color: #a0aec0;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
z-index: 2;
}
/* ホバー時:アイコンを赤色にして背景を薄いピンクに */
.cs-ec-st3-fav:hover {
color: #e53e3e;
background-color: #fff5f5;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(229, 62, 62, 0.2);
}
/* クリック時などに中を塗りつぶす場合のスタイル指定(js連動用) */
.cs-ec-st3-fav.active {
color: #e53e3e;
fill: #e53e3e;
}
/* =========================================
4. 商品情報 & カートボタンエリア
========================================= */
.cs-ec-st3-body {
padding: 16px;
}
/* 商品名 */
.cs-ec-st3-name {
display: block; /* リンク要素をブロック化 */
font-size: 0.9rem;
font-weight: 500;
line-height: 1.5;
color: #1a202c;
text-decoration: none !important;
margin: 0 0 16px 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 3em;
transition: color 0.3s ease;
}
.cs-ec-st3-name:hover {
color: #2589d0;
}
/* ━━ 価格とカートボタンの横並び ━━ */
.cs-ec-st3-bottom {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px dashed #e2e8f0; /* 薄い破線で区切る */
padding-top: 12px;
}
/* 価格 */
.cs-ec-st3-price-current {
font-size: 1.15rem;
font-weight: 700;
color: #111111;
}
/* カートボタン */
.cs-ec-st3-cart {
width: 40px;
height: 40px;
background-color: #111111;
color: #ffffff;
border-radius: 8px; /* 四角い角丸にして押しやすさを強調 */
display: flex;
justify-content: center;
align-items: center;
transition: background-color 0.3s ease, transform 0.3s ease;
}
.cs-ec-st3-cart:hover {
background-color: #2589d0; /* アクセントカラーへ変化 */
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(37, 137, 208, 0.3);
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
.cs-ec-st3-grid {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 16px;
}
.cs-ec-st3-body {
padding: 12px;
}
.cs-ec-st3-name {
font-size: 0.85rem;
margin-bottom: 12px;
}
/* 狭いスマホ画面ではカートボタンと価格の余白を調整 */
.cs-ec-st3-cart {
width: 36px;
height: 36px;
}
.cs-ec-st3-price-current {
font-size: 1rem;
}
}Amazonや楽天市場などの大手ECモールでも必ず採用されている、ユーザーの「安心感」と「購買意欲」を直接的に高める鉄板のレイアウトです。
<div class="cs-ec-st4-grid">
<a href="#" class="cs-ec-st4-item">
<div class="cs-ec-st4-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+A" alt="商品画像">
</div>
<div class="cs-ec-st4-body">
<div class="cs-ec-st4-name">高品質クラフトトートバッグ(キャンバス地・A4対応)</div>
<div class="cs-ec-st4-review">
<span class="cs-ec-st4-stars">★★★★<span class="cs-ec-st4-star-empty">★</span></span>
<span class="cs-ec-st4-score">4.2</span>
<span class="cs-ec-st4-count">(128件)</span>
</div>
<div class="cs-ec-st4-price">
<span class="cs-ec-st4-price-current">¥5,800</span>
<span class="cs-ec-st4-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st4-item">
<div class="cs-ec-st4-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+B" alt="商品画像">
</div>
<div class="cs-ec-st4-body">
<div class="cs-ec-st4-name">オーガニックコットンの無地Tシャツ / ユニセックス</div>
<div class="cs-ec-st4-review">
<span class="cs-ec-st4-stars">★★★★★</span>
<span class="cs-ec-st4-score">4.8</span>
<span class="cs-ec-st4-count">(342件)</span>
</div>
<div class="cs-ec-st4-price">
<span class="cs-ec-st4-price-current">¥3,200</span>
<span class="cs-ec-st4-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st4-item">
<div class="cs-ec-st4-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+C" alt="商品画像">
</div>
<div class="cs-ec-st4-body">
<div class="cs-ec-st4-name">ステンレス製 真空断熱タンブラー 450ml</div>
<div class="cs-ec-st4-review">
<span class="cs-ec-st4-stars">★★★<span class="cs-ec-st4-star-empty">★★</span></span>
<span class="cs-ec-st4-score">3.4</span>
<span class="cs-ec-st4-count">(15件)</span>
</div>
<div class="cs-ec-st4-price">
<span class="cs-ec-st4-price-current">¥2,400</span>
<span class="cs-ec-st4-price-tax">(税込)</span>
</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st4-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-ec-st4-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.cs-ec-st4-item:hover {
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
border-color: #cbd5e1;
transform: translateY(-2px);
}
/* =========================================
3. 商品画像エリア
========================================= */
.cs-ec-st4-thumb {
width: 100%;
aspect-ratio: 1 / 1;
background-color: #f8fafc;
display: flex;
justify-content: center;
align-items: center;
}
.cs-ec-st4-thumb img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 16px;
box-sizing: border-box;
transition: transform 0.4s ease;
}
.cs-ec-st4-item:hover .cs-ec-st4-thumb img {
transform: scale(1.05);
}
/* =========================================
4. 商品情報 & レビュー & 価格エリア
========================================= */
.cs-ec-st4-body {
padding: 16px;
}
/* 商品名(左揃えで読みやすく) */
.cs-ec-st4-name {
font-size: 0.85rem;
font-weight: 500;
line-height: 1.5;
color: #1a202c;
margin: 0 0 8px 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 3em;
transition: color 0.3s ease;
}
.cs-ec-st4-item:hover .cs-ec-st4-name {
color: #2589d0;
}
/* ━━ レビュー評価エリア ━━ */
.cs-ec-st4-review {
display: flex;
align-items: center;
gap: 4px;
margin-bottom: 12px;
}
/* 星アイコン(色付き) */
.cs-ec-st4-stars {
font-size: 1rem;
color: #fbbf24; /* レビューによく使われる温かみのあるイエローオレンジ */
letter-spacing: 0.05em;
line-height: 1;
}
/* 星アイコン(空・グレー) */
.cs-ec-st4-star-empty {
color: #e2e8f0; /* 薄いグレーで未評価分を表現 */
}
/* スコア(数字) */
.cs-ec-st4-score {
font-size: 0.8rem;
font-weight: 700;
color: #fbbf24;
margin-left: 2px;
}
/* レビュー件数 */
.cs-ec-st4-count {
font-size: 0.75rem;
color: #718096;
margin-left: 2px;
}
/* ━━ 価格表示エリア ━━ */
.cs-ec-st4-price {
display: flex;
align-items: baseline;
gap: 4px;
}
.cs-ec-st4-price-current {
font-size: 1.25rem;
font-weight: 700;
color: #111111;
}
.cs-ec-st4-price-tax {
font-size: 0.7rem;
color: #94a3b8;
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
.cs-ec-st4-grid {
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 12px;
}
.cs-ec-st4-body {
padding: 12px;
}
.cs-ec-st4-name {
font-size: 0.8rem;
}
/* スマホでは星と数字が窮屈にならないように調整 */
.cs-ec-st4-stars {
font-size: 0.9rem;
}
.cs-ec-st4-score, .cs-ec-st4-count {
font-size: 0.7rem;
}
.cs-ec-st4-price-current {
font-size: 1.15rem;
}
}アパレルや雑貨のECサイトで大定番のUIです。
1枚目には商品の「全体像」、マウスを乗せた際の2枚目には「着用イメージ」や「別アングル」「カラーバリエーション」を見せることで、ユーザーが商品ページに遷移する前に多くの情報を伝え、クリック率を高めることができます。
<div class="cs-ec-st5-grid">
<a href="#" class="cs-ec-st5-item">
<div class="cs-ec-st5-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Main+Image+1" alt="商品画像(表)" class="cs-ec-st5-img-main">
<img src="https://placehold.jp/f7fafc/2589d0/400x400.png?text=Hover+Image+1" alt="着用イメージ" class="cs-ec-st5-img-hover">
</div>
<div class="cs-ec-st5-body">
<div class="cs-ec-st5-name">高品質クラフトトートバッグ(キャンバス地)</div>
<div class="cs-ec-st5-price">
<span class="cs-ec-st5-price-current">¥5,800</span>
<span class="cs-ec-st5-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st5-item">
<div class="cs-ec-st5-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Main+Image+2" alt="商品画像(表)" class="cs-ec-st5-img-main">
<img src="https://placehold.jp/f7fafc/2589d0/400x400.png?text=Hover+Image+2" alt="着用イメージ" class="cs-ec-st5-img-hover">
</div>
<div class="cs-ec-st5-body">
<div class="cs-ec-st5-name">オーガニックコットンの無地Tシャツ / ユニセックス</div>
<div class="cs-ec-st5-price">
<span class="cs-ec-st5-price-current">¥3,200</span>
<span class="cs-ec-st5-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st5-item">
<div class="cs-ec-st5-thumb">
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Main+Image+3" alt="商品画像(表)" class="cs-ec-st5-img-main">
<img src="https://placehold.jp/f7fafc/2589d0/400x400.png?text=Hover+Image+3" alt="着用イメージ" class="cs-ec-st5-img-hover">
</div>
<div class="cs-ec-st5-body">
<div class="cs-ec-st5-name">ステンレス製 真空断熱タンブラー 450ml</div>
<div class="cs-ec-st5-price">
<span class="cs-ec-st5-price-current">¥2,400</span>
<span class="cs-ec-st5-price-tax">(税込)</span>
</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st5-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-ec-st5-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.cs-ec-st5-item:hover {
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
border-color: #cbd5e1;
transform: translateY(-2px);
}
/* =========================================
3. 商品画像エリア(2枚重ねの設定)
========================================= */
.cs-ec-st5-thumb {
position: relative; /* 2枚の画像を重ねるための基準点 */
width: 100%;
aspect-ratio: 1 / 1; /* 正方形を維持 */
background-color: #f8fafc;
overflow: hidden;
}
/* 画像の共通設定(同じ位置に絶対配置で重ねる) */
.cs-ec-st5-thumb img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
padding: 16px;
box-sizing: border-box;
/* 透明度と拡大を滑らかにアニメーションさせる */
transition: opacity 0.4s ease, transform 0.6s ease;
}
/* ━━ 1枚目(通常時)の画像 ━━ */
.cs-ec-st5-img-main {
opacity: 1; /* 最初は見えている */
z-index: 1;
}
/* ━━ 2枚目(ホバー時)の画像 ━━ */
.cs-ec-st5-img-hover {
opacity: 0; /* 最初は透明で隠しておく */
z-index: 2; /* 1枚目より手前に配置 */
transform: scale(0.95); /* 最初は少し小さくしておくことで、ホバー時の動きをリッチに */
}
/* ━━ ホバー時の切り替えアクション ━━ */
.cs-ec-st5-item:hover .cs-ec-st5-img-main {
opacity: 0; /* 1枚目を透明にする */
}
.cs-ec-st5-item:hover .cs-ec-st5-img-hover {
opacity: 1; /* 2枚目を表示する */
transform: scale(1); /* 元のサイズに戻しながらフワッと表示 */
}
/* =========================================
4. 商品情報エリア
========================================= */
.cs-ec-st5-body {
padding: 16px;
text-align: center;
}
/* 商品名 */
.cs-ec-st5-name {
font-size: 0.85rem;
font-weight: 500;
line-height: 1.5;
color: #1a202c;
margin: 0 0 10px 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 3em;
transition: color 0.3s ease;
}
.cs-ec-st5-item:hover .cs-ec-st5-name {
color: #2589d0;
}
/* 価格表示ブロック */
.cs-ec-st5-price {
display: flex;
justify-content: center;
align-items: baseline;
gap: 4px;
}
.cs-ec-st5-price-current {
font-size: 1.15rem;
font-weight: 700;
color: #111111;
}
.cs-ec-st5-price-tax {
font-size: 0.7rem;
color: #94a3b8;
}
/* =========================================
5. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
.cs-ec-st5-grid {
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 12px;
}
.cs-ec-st5-body {
padding: 12px 10px;
}
.cs-ec-st5-name {
font-size: 0.8rem;
}
.cs-ec-st5-price-current {
font-size: 1.1rem;
}
}在庫がない商品を一覧に表示させたままにする場合、ユーザーが誤ってクリックして落胆するのを防ぐため、「パッと見で売り切れだと分かる視覚的な変化」が重要です。
<div class="cs-ec-st6-grid">
<a href="#" class="cs-ec-st6-item is-soldout">
<div class="cs-ec-st6-thumb">
<span class="cs-ec-st6-overlay">SOLD OUT</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+A" alt="商品画像">
</div>
<div class="cs-ec-st6-body">
<div class="cs-ec-st6-name">高品質クラフトトートバッグ(キャンバス地・A4対応)</div>
<div class="cs-ec-st6-price">
<span class="cs-ec-st6-price-current">¥5,800</span>
<span class="cs-ec-st6-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st6-item">
<div class="cs-ec-st6-thumb">
<span class="cs-ec-st6-overlay">SOLD OUT</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+B" alt="商品画像">
</div>
<div class="cs-ec-st6-body">
<div class="cs-ec-st6-name">オーガニックコットンの無地Tシャツ / ユニセックス</div>
<div class="cs-ec-st6-price">
<span class="cs-ec-st6-price-current">¥3,200</span>
<span class="cs-ec-st6-price-tax">(税込)</span>
</div>
</div>
</a>
<a href="#" class="cs-ec-st6-item is-soldout">
<div class="cs-ec-st6-thumb">
<span class="cs-ec-st6-overlay">SOLD OUT</span>
<img src="https://placehold.jp/ffffff/111111/400x400.png?text=Product+C" alt="商品画像">
</div>
<div class="cs-ec-st6-body">
<div class="cs-ec-st6-name">ステンレス製 真空断熱タンブラー 450ml</div>
<div class="cs-ec-st6-price">
<span class="cs-ec-st6-price-current">¥2,400</span>
<span class="cs-ec-st6-price-tax">(税込)</span>
</div>
</div>
</a>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-ec-st6-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のベースデザイン
========================================= */
.cs-ec-st6-item {
display: block;
text-decoration: none !important;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden;
color: #333333;
transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
/* 通常販売中のカードのホバーエフェクト */
.cs-ec-st6-item:not(.is-soldout):hover {
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
border-color: #cbd5e1;
transform: translateY(-4px);
}
/* =========================================
3. 商品画像エリア
========================================= */
.cs-ec-st6-thumb {
position: relative; /* オーバーレイ配置の基準 */
width: 100%;
aspect-ratio: 1 / 1;
background-color: #f8fafc;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.cs-ec-st6-thumb img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 16px;
box-sizing: border-box;
transition: transform 0.4s ease, filter 0.3s ease, opacity 0.3s ease;
}
/* 通常販売時のホバー画像ズーム */
.cs-ec-st6-item:not(.is-soldout):hover .cs-ec-st6-thumb img {
transform: scale(1.05);
}
/* ━━ SOLD OUT オーバーレイ帯 ━━ */
.cs-ec-st6-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); /* ど真ん中に配置 */
background-color: rgba(17, 17, 17, 0.85); /* 半透明の黒 */
color: #ffffff;
font-size: 0.9rem;
font-weight: 700;
letter-spacing: 0.15em;
padding: 8px 0;
width: 100%; /* 横幅いっぱいに帯を引く */
text-align: center;
z-index: 2;
/* 通常時は非表示にし、売り切れ時だけ表示させる */
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease;
}
/* =========================================
4. 商品情報エリア
========================================= */
.cs-ec-st6-body {
padding: 16px;
text-align: center;
}
/* 商品名 */
.cs-ec-st6-name {
font-size: 0.85rem;
font-weight: 500;
line-height: 1.5;
color: #1a202c;
margin: 0 0 10px 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
height: 3em;
transition: color 0.3s ease;
}
.cs-ec-st6-item:not(.is-soldout):hover .cs-ec-st6-name {
color: #2589d0;
}
/* 価格 */
.cs-ec-st6-price {
display: flex;
justify-content: center;
align-items: baseline;
gap: 4px;
}
.cs-ec-st6-price-current {
font-size: 1.15rem;
font-weight: 700;
color: #111111;
transition: color 0.3s ease;
}
.cs-ec-st6-price-tax {
font-size: 0.7rem;
color: #94a3b8;
}
/* =========================================
5. 【重要】売り切れ(is-soldout)状態のスタイル
========================================= */
/* 画像を白黒にし、少し薄くする */
.cs-ec-st6-item.is-soldout .cs-ec-st6-thumb img {
filter: grayscale(100%);
opacity: 0.5;
}
/* 帯(SOLD OUT)を表示する */
.cs-ec-st6-item.is-soldout .cs-ec-st6-overlay {
opacity: 1;
visibility: visible;
}
/* テキストカラーを薄いグレーにして「買えない感」を出す */
.cs-ec-st6-item.is-soldout .cs-ec-st6-name,
.cs-ec-st6-item.is-soldout .cs-ec-st6-price-current {
color: #a0aec0;
}
/* =========================================
6. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 480px) {
.cs-ec-st6-grid {
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 12px;
}
.cs-ec-st6-body {
padding: 12px 10px;
}
.cs-ec-st6-name {
font-size: 0.8rem;
}
.cs-ec-st6-price-current {
font-size: 1.1rem;
}
.cs-ec-st6-overlay {
font-size: 0.75rem; /* スマホでは帯の文字も少し小さく */
padding: 6px 0;
}
}ここでは、以下のプロフィール・著者(メンバー)紹介カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
ブログの記事下にある「この記事を書いた人(運営者情報)」やコーポレートサイトの「スタッフ・メンバー紹介」ページなどでよく見られる王道かつ親しみやすさを感じさせるデザインです。
<div class="cs-prof-st1-grid">
<div class="cs-prof-st1-item">
<div class="cs-prof-st1-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/150x150.png?text=User+A" alt="プロフィール画像">
</div>
<div class="cs-prof-st1-body">
<div class="cs-prof-st1-name">山田 太郎</div>
<div class="cs-prof-st1-role">UI/UX Designer</div>
<p class="cs-prof-st1-desc">
心地よい使いやすさと美しさを両立するWebデザインを得意としています。趣味はカフェ巡りとカメラです。
</p>
<div class="cs-prof-st1-sns">
<a href="#" class="cs-prof-st1-sns-btn cs-prof-st1-sns-x" aria-label="X (Twitter)">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
</a>
<a href="#" class="cs-prof-st1-sns-btn cs-prof-st1-sns-insta" aria-label="Instagram">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>
</a>
<a href="#" class="cs-prof-st1-sns-btn cs-prof-st1-sns-web" aria-label="Webサイト">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
</a>
</div>
</div>
</div>
<div class="cs-prof-st1-item">
<div class="cs-prof-st1-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/150x150.png?text=User+B" alt="プロフィール画像">
</div>
<div class="cs-prof-st1-body">
<div class="cs-prof-st1-name">佐藤 花子</div>
<div class="cs-prof-st1-role">Frontend Engineer</div>
<p class="cs-prof-st1-desc">
HTML/CSS、TypeScriptを用いたセマンティックでアクセシブルな実装を心がけています。技術書を読むのが日課です。
</p>
<div class="cs-prof-st1-sns">
<a href="#" class="cs-prof-st1-sns-btn cs-prof-st1-sns-x" aria-label="X (Twitter)">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
</a>
<a href="#" class="cs-prof-st1-sns-btn cs-prof-st1-sns-web" aria-label="Webサイト">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
</a>
</div>
</div>
</div>
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-prof-st1-grid {
display: grid;
/* 最低幅260pxを確保して横並びにし、狭くなると自動で折り返す */
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-prof-st1-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 32px 24px; /* 上下にゆったりとした余白を確保 */
text-align: center; /* コンテンツをすべて中央揃えにする */
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-sizing: border-box;
}
/* ホバー時にふんわり浮き上がり、シャドウを広げる */
.cs-prof-st1-item:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
/* =========================================
3. 丸型アバター画像エリア
========================================= */
.cs-prof-st1-avatar {
width: 100px;
height: 100px;
margin: 0 auto 16px; /* 中央に配置し、下に余白を作る */
border-radius: 50%; /* 完璧な正円にする */
overflow: hidden;
background-color: #f7fafc;
border: 3px solid #ffffff; /* 白い縁取りをつけて立体感を出す */
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.cs-prof-st1-avatar img {
width: 100%;
height: 100%;
object-fit: cover; /* 比率を維持したまま円形にフィット */
transition: transform 0.4s ease;
}
/* ホバー時に写真が少しズームする */
.cs-prof-st1-item:hover .cs-prof-st1-avatar img {
transform: scale(1.08);
}
/* =========================================
4. プロフィールテキスト情報エリア
========================================= */
/* 名前 */
.cs-prof-st1-name {
font-size: 1.15rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 4px;
}
/* 肩書・役職 */
.cs-prof-st1-role {
font-size: 0.8rem;
font-weight: 600;
color: #2589d0; /* アクセントカラーで際立たせる */
letter-spacing: 0.05em;
margin-bottom: 16px;
}
/* 紹介文 */
.cs-prof-st1-desc {
font-size: 0.85rem;
line-height: 1.6;
color: #4a5568;
margin: 0 0 20px 0;
text-align: left; /* 紹介文のみ左揃えにすることで可読性を上げる */
}
/* =========================================
5. SNSリンクボタン
========================================= */
.cs-prof-st1-sns {
display: flex;
justify-content: center; /* アイコンを中央寄せに配置 */
gap: 12px;
}
.cs-prof-st1-sns-btn {
display: flex;
justify-content: center;
align-items: center;
width: 36px;
height: 36px;
border-radius: 50%;
background-color: #edf2f7;
color: #718096;
text-decoration: none !important;
transition: all 0.3s ease;
}
/* ━━ 各SNSホバー時のブランドカラー変化 ━━ */
/* X (Twitter) */
.cs-prof-st1-sns-x:hover {
background-color: #111111;
color: #ffffff;
transform: translateY(-2px);
}
/* Instagram */
.cs-prof-st1-sns-insta:hover {
background-color: #e1306c;
color: #ffffff;
transform: translateY(-2px);
}
/* Webサイト / リンク */
.cs-prof-st1-sns-web:hover {
background-color: #2589d0;
color: #ffffff;
transform: translateY(-2px);
}
/* =========================================
6. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-prof-st1-grid {
/* スマホ時は1列になるように調整 */
grid-template-columns: 1fr;
}
.cs-prof-st1-item {
padding: 24px 16px;
}
}ブログの記事下(この記事を書いた人)や企業サイトの代表挨拶など、「人物の詳しい経歴やメッセージをしっかりと読ませたい場合」に最適なレイアウトです。
<div class="cs-prof-st2-list">
<div class="cs-prof-st2-item">
<div class="cs-prof-st2-left">
<div class="cs-prof-st2-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/200x200.png?text=Author+A" alt="プロフィール画像">
</div>
</div>
<div class="cs-prof-st2-right">
<div class="cs-prof-st2-header">
<div class="cs-prof-st2-name">鈴木 一郎</div>
<div class="cs-prof-st2-role">Web Developer / Technical Writer</div>
</div>
<p class="cs-prof-st2-desc">
フロントエンド開発を中心に、HTML/CSSやTypeScriptを用いたモダンなWebサイト制作を行っています。長文の自己紹介や経歴、実績などをしっかりと記載したい場合は、この横型レイアウトが最も適しています。休日はもっぱらキャンプとDIYを楽しんでいます。
</p>
<div class="cs-prof-st2-sns">
<a href="#" class="cs-prof-st2-sns-btn cs-prof-st2-sns-x" aria-label="X (Twitter)">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
</a>
<a href="#" class="cs-prof-st2-sns-btn cs-prof-st2-sns-git" aria-label="GitHub">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg>
</a>
</div>
</div>
</div>
<div class="cs-prof-st2-item">
<div class="cs-prof-st2-left">
<div class="cs-prof-st2-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/200x200.png?text=Author+B" alt="プロフィール画像">
</div>
</div>
<div class="cs-prof-st2-right">
<div class="cs-prof-st2-header">
<div class="cs-prof-st2-name">高橋 美咲</div>
<div class="cs-prof-st2-role">Art Director</div>
</div>
<p class="cs-prof-st2-desc">
雑誌の編集デザインを経て、現在はWebメディアのアートディレクションを担当。視覚的な美しさだけでなく、ユーザーが迷わず情報を取得できるUI設計を信条としています。
</p>
<div class="cs-prof-st2-sns">
<a href="#" class="cs-prof-st2-sns-btn cs-prof-st2-sns-x" aria-label="X (Twitter)">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
</a>
<a href="#" class="cs-prof-st2-sns-btn cs-prof-st2-sns-insta" aria-label="Instagram">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>
</a>
</div>
</div>
</div>
</div>/* =========================================
1. リスト全体の大枠(縦に並べるコンテナ)
========================================= */
.cs-prof-st2-list {
display: flex;
flex-direction: column;
gap: 32px; /* 人物ごとの間隔は少し広めに */
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. バイオグラフィカード本体
========================================= */
.cs-prof-st2-item {
display: flex;
align-items: flex-start; /* アイコンを上揃えにする */
gap: 24px;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 16px; /* 少し大きめの角丸 */
padding: 32px;
color: #333333;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
transition: box-shadow 0.3s ease;
box-sizing: border-box;
}
.cs-prof-st2-item:hover {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
/* =========================================
3. 左側:アバター画像エリア
========================================= */
.cs-prof-st2-left {
flex-shrink: 0; /* 画面が狭くなっても画像を縮小させない */
}
.cs-prof-st2-avatar {
width: 120px; /* 少し大きめのアイコンで信頼感を出す */
height: 120px;
border-radius: 50%; /* 正円 */
overflow: hidden;
background-color: #f7fafc;
border: 4px solid #ffffff; /* 白い縁取り */
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.cs-prof-st2-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* =========================================
4. 右側:プロフィール詳細エリア
========================================= */
.cs-prof-st2-right {
flex-grow: 1; /* 余った幅をすべてテキストエリアにする */
}
.cs-prof-st2-header {
display: flex;
align-items: baseline;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 12px;
}
/* 名前 */
.cs-prof-st2-name {
font-size: 1.25rem;
font-weight: 700;
color: #1a202c;
line-height: 1.4;
}
/* 肩書・役職 */
.cs-prof-st2-role {
font-size: 0.85rem;
font-weight: 600;
color: #2589d0;
}
/* 紹介文 */
.cs-prof-st2-desc {
font-size: 0.9rem;
line-height: 1.7; /* 文章が読みやすいように行間を広めに */
color: #4a5568;
margin: 0 0 20px 0;
}
/* =========================================
5. SNSリンクボタン
========================================= */
.cs-prof-st2-sns {
display: flex;
gap: 12px;
}
.cs-prof-st2-sns-btn {
display: flex;
justify-content: center;
align-items: center;
width: 36px;
height: 36px;
border-radius: 50%;
background-color: #f1f5f9;
color: #64748b;
text-decoration: none !important;
transition: all 0.3s ease;
}
/* ━━ 各SNSホバー時のブランドカラー変化 ━━ */
.cs-prof-st2-sns-x:hover {
background-color: #111111;
color: #ffffff;
transform: translateY(-2px);
}
.cs-prof-st2-sns-insta:hover {
background-color: #e1306c;
color: #ffffff;
transform: translateY(-2px);
}
.cs-prof-st2-sns-git:hover {
background-color: #24292e;
color: #ffffff;
transform: translateY(-2px);
}
/* =========================================
6. レスポンシブ対応(スマホ表示時)
========================================= */
@media screen and (max-width: 600px) {
.cs-prof-st2-item {
flex-direction: column; /* 画像とテキストを縦並びに変更 */
align-items: center; /* 全体を中央寄せに */
text-align: center;
padding: 24px 20px;
}
.cs-prof-st2-avatar {
width: 100px; /* スマホ時はアイコンを少し小さく */
height: 100px;
}
.cs-prof-st2-header {
flex-direction: column; /* 名前と肩書も縦に積む */
align-items: center;
gap: 4px;
margin-bottom: 16px;
}
.cs-prof-st2-sns {
justify-content: center; /* アイコンを中央に寄せる */
}
}X(旧Twitter)やFacebookのプロフィール画面でおなじみの「背景カバー画像に丸いアイコンが半分重なっている」レイアウトです。
ユーザーが普段から見慣れているUIであるため、直感的に「この人の発信内容(プロフィール)だ」と認識させやすく、親近感を持たせる効果が高いデザインです。
フリーランスのWebデザイナーです。HTML/CSSの小技や、使いやすいUIデザインの設計論について発信しています。お仕事のご相談はDMまでお気軽にどうぞ!
フロントエンドエンジニア。モダンなCSSレイアウトや、SWELLを使ったサイト制作が得意です。技術ブログを毎週日曜日に更新中。
<div class="cs-prof-st3-grid">
<!-- ▼ SNS風カード1人目 ▼ -->
<div class="cs-prof-st3-item">
<!-- 上部:カバー(ヘッダー)画像 -->
<div class="cs-prof-st3-cover">
<img src="https://placehold.jp/2d3748/ffffff/600x200.png?text=Cover+Image" alt="カバー画像">
</div>
<div class="cs-prof-st3-body">
<!-- アイコンとアクションボタンの横並び行 -->
<div class="cs-prof-st3-top-row">
<div class="cs-prof-st3-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/150x150.png?text=User" alt="アイコン">
</div>
<!-- フォローボタン風リンク -->
<a href="#" class="cs-prof-st3-btn">フォローする</a>
</div>
<!-- プロフィール情報 -->
<div class="cs-prof-st3-name">山田 太郎</div>
<div class="cs-prof-st3-id">@yamada_webdesign</div>
<p class="cs-prof-st3-desc">
フリーランスのWebデザイナーです。HTML/CSSの小技や、使いやすいUIデザインの設計論について発信しています。お仕事のご相談はDMまでお気軽にどうぞ!
</p>
<!-- フォロワー数などのメタ情報(お好みで) -->
<div class="cs-prof-st3-meta">
<span class="cs-prof-st3-meta-item"><b>120</b> フォロー中</span>
<span class="cs-prof-st3-meta-item"><b>3,450</b> フォロワー</span>
</div>
</div>
</div>
<!-- ▲ SNS風カード1人目 ▲ -->
<!-- ▼ SNS風カード2人目 ▼ -->
<div class="cs-prof-st3-item">
<div class="cs-prof-st3-cover">
<!-- カバー画像にアクセントカラーを使うと華やかになります -->
<img src="https://placehold.jp/2589d0/ffffff/600x200.png?text=Cover+Image" alt="カバー画像">
</div>
<div class="cs-prof-st3-body">
<div class="cs-prof-st3-top-row">
<div class="cs-prof-st3-avatar">
<img src="https://placehold.jp/f7fafc/1a202c/150x150.png?text=User" alt="アイコン">
</div>
<a href="#" class="cs-prof-st3-btn cs-prof-st3-btn-sub">メッセージ</a>
</div>
<div class="cs-prof-st3-name">佐藤 花子</div>
<div class="cs-prof-st3-id">@hanako_frontend</div>
<p class="cs-prof-st3-desc">
フロントエンドエンジニア。モダンなCSSレイアウトや、SWELLを使ったサイト制作が得意です。技術ブログを毎週日曜日に更新中。
</p>
<div class="cs-prof-st3-meta">
<span class="cs-prof-st3-meta-item"><b>85</b> フォロー中</span>
<span class="cs-prof-st3-meta-item"><b>1,240</b> フォロワー</span>
</div>
</div>
</div>
<!-- ▲ SNS風カード2人目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-prof-st3-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-prof-st3-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
overflow: hidden; /* カバー画像が角丸からはみ出さないようにする */
color: #333333;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
transition: box-shadow 0.3s ease;
}
.cs-prof-st3-item:hover {
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
/* =========================================
3. カバー(ヘッダー)画像エリア
========================================= */
.cs-prof-st3-cover {
width: 100%;
height: 100px; /* カバーの高さ(お好みで調整) */
background-color: #cbd5e1;
}
.cs-prof-st3-cover img {
width: 100%;
height: 100%;
object-fit: cover; /* 枠いっぱいに綺麗に敷き詰める */
}
/* =========================================
4. プロフィール本体エリア
========================================= */
.cs-prof-st3-body {
padding: 0 20px 20px; /* 上の余白はゼロにする(アイコンを食い込ませるため) */
}
/* ━━ アイコンとボタンの横並び行 ━━ */
.cs-prof-st3-top-row {
display: flex;
justify-content: space-between;
align-items: flex-end; /* 下揃えにして、アイコンとボタンのバランスをとる */
margin-bottom: 12px;
}
/* ━━ 重なる丸型アイコン ━━ */
.cs-prof-st3-avatar {
width: 72px;
height: 72px;
/* ▼ ここがSNS風の肝!ネガティブマージンで上のカバーに食い込ませる ▼ */
margin-top: -36px;
border-radius: 50%;
background-color: #ffffff;
border: 4px solid #ffffff; /* カバー画像と明確に区切るための太めの白フチ */
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
overflow: hidden;
position: relative; /* カバーより手前に出すため */
z-index: 2;
}
.cs-prof-st3-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* ━━ フォローボタン風リンク ━━ */
.cs-prof-st3-btn {
display: inline-block;
padding: 6px 16px;
font-size: 0.85rem;
font-weight: 700;
color: #ffffff;
background-color: #1a202c; /* ダークなボタン色 */
border: 1px solid #1a202c;
border-radius: 20px; /* 完全な角丸(ピルシェイプ) */
text-decoration: none !important;
transition: all 0.3s ease;
margin-bottom: 4px; /* アイコンとの下部ライン微調整 */
}
.cs-prof-st3-btn:hover {
background-color: #2d3748;
}
/* サブボタン(白抜き)のバリエーション */
.cs-prof-st3-btn-sub {
background-color: #ffffff;
color: #1a202c;
}
.cs-prof-st3-btn-sub:hover {
background-color: #f7fafc;
}
/* =========================================
5. テキスト情報
========================================= */
/* 名前 */
.cs-prof-st3-name {
font-size: 1.15rem;
font-weight: 800;
line-height: 1.2;
color: #1a202c;
}
/* ID表記(@〜) */
.cs-prof-st3-id {
font-size: 0.8rem;
color: #718096;
margin-bottom: 12px;
}
/* 紹介文 */
.cs-prof-st3-desc {
font-size: 0.85rem;
line-height: 1.6;
color: #333333;
margin: 0 0 16px 0;
}
/* ━━ フォロワー数などのメタ情報 ━━ */
.cs-prof-st3-meta {
display: flex;
gap: 16px;
font-size: 0.8rem;
color: #718096;
}
.cs-prof-st3-meta b {
color: #1a202c;
font-weight: 700;
}「物理的な名刺(Business Card)」をWeb上にそのまま置いたような、極限まで引き算されたデザインです。
大きな画像や派手な装飾をあえて一切使わず、「たっぷりの余白」「極細の枠線」「文字の間隔(レタースペーシング)」だけで洗練されたプロフェッショナル感を演出します。
<div class="cs-prof-st4-grid">
<!-- ▼ 名刺風カード1人目 ▼ -->
<div class="cs-prof-st4-item">
<div class="cs-prof-st4-top">
<div class="cs-prof-st4-info">
<!-- 役職(英語やローマ字で小さく入れると名刺感が出ます) -->
<div class="cs-prof-st4-role">FRONTEND ENGINEER</div>
<!-- 名前 -->
<div class="cs-prof-st4-name">山田 太郎</div>
</div>
<!-- 極小のモノクロアバター -->
<div class="cs-prof-st4-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="アイコン">
</div>
</div>
<!-- 下部の連絡先・詳細エリア -->
<div class="cs-prof-st4-bottom">
<div class="cs-prof-st4-contact">
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">P.</span>
<span class="cs-prof-st4-value">Webデザイン / UI設計 / コーディング</span>
</div>
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">W.</span>
<span class="cs-prof-st4-value">https://example.com</span>
</div>
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">X.</span>
<span class="cs-prof-st4-value">@yamada_minimal</span>
</div>
</div>
</div>
</div>
<!-- ▲ 名刺風カード1人目 ▲ -->
<!-- ▼ 名刺風カード2人目 ▼ -->
<div class="cs-prof-st4-item">
<div class="cs-prof-st4-top">
<div class="cs-prof-st4-info">
<div class="cs-prof-st4-role">ART DIRECTOR</div>
<div class="cs-prof-st4-name">佐藤 花子</div>
</div>
<div class="cs-prof-st4-avatar">
<img src="https://placehold.jp/f7fafc/1a202c/100x100.png?text=User" alt="アイコン">
</div>
</div>
<div class="cs-prof-st4-bottom">
<div class="cs-prof-st4-contact">
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">P.</span>
<span class="cs-prof-st4-value">グラフィックデザイン / ブランディング</span>
</div>
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">W.</span>
<span class="cs-prof-st4-value">https://design-studio.example.com</span>
</div>
<div class="cs-prof-st4-contact-item">
<span class="cs-prof-st4-label">I.</span>
<span class="cs-prof-st4-value">@hanako_art</span>
</div>
</div>
</div>
</div>
<!-- ▲ 名刺風カード2人目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-prof-st4-grid {
display: grid;
/* 名刺らしく、少し横長の比率になりやすい幅を設定 */
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン(名刺感の要)
========================================= */
.cs-prof-st4-item {
background-color: #ffffff;
/* 極細(1px)で薄い枠線を引き、紙のカードのようなソリッド感を出す */
border: 1px solid #e2e8f0;
border-radius: 2px; /* 角丸はあえて「ほぼ直角」にしてシャープに */
padding: 32px; /* 余白をたっぷりとる */
color: #333333;
display: flex;
flex-direction: column;
justify-content: space-between;
transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
box-sizing: border-box;
}
/* ホバー時は控えめにフワッと浮かし、枠線を少し濃くする */
.cs-prof-st4-item:hover {
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04);
border-color: #cbd5e1;
}
/* =========================================
3. 上部:名前・役職・アバターエリア
========================================= */
.cs-prof-st4-top {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 32px; /* 下部エリアとの間に広大な余白をとる */
}
/* 役職(極小文字+文字間隔を広く) */
.cs-prof-st4-role {
font-size: 0.65rem;
font-weight: 600;
color: #94a3b8; /* 薄いグレー */
letter-spacing: 0.2em; /* 文字と文字の間をかなり広く開ける */
margin-bottom: 8px;
}
/* 名前 */
.cs-prof-st4-name {
font-size: 1.3rem;
font-weight: 500; /* あえて太字にせず、スタイリッシュに */
color: #0f172a; /* 墨色のような深い黒 */
letter-spacing: 0.1em;
}
/* アバター画像(極小&モノクロ) */
.cs-prof-st4-avatar {
width: 44px;
height: 44px;
border-radius: 50%;
overflow: hidden;
background-color: #f8fafc;
}
.cs-prof-st4-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
filter: grayscale(100%); /* モノクロにしてノイズを消す */
opacity: 0.8; /* 少し透過させて背景になじませる */
transition: all 0.5s ease;
}
/* ホバー時にカラーに戻す遊び心 */
.cs-prof-st4-item:hover .cs-prof-st4-avatar img {
filter: grayscale(0%);
opacity: 1;
}
/* =========================================
4. 下部:連絡先・詳細エリア
========================================= */
.cs-prof-st4-bottom {
/* 極細のラインで上部と区切る */
border-top: 1px solid #f1f5f9;
padding-top: 16px;
}
.cs-prof-st4-contact {
display: flex;
flex-direction: column;
gap: 8px; /* 行間は少し詰めて整理された印象に */
}
.cs-prof-st4-contact-item {
display: flex;
align-items: flex-start;
font-size: 0.75rem; /* 小さめの文字サイズ */
line-height: 1.6;
color: #4a5568;
letter-spacing: 0.05em;
}
/* P. や W. などの先頭ラベル */
.cs-prof-st4-label {
font-weight: 700;
color: #0f172a;
width: 24px; /* ラベルの幅を固定して、右側のテキストを綺麗に揃える */
flex-shrink: 0;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-prof-st4-item {
padding: 24px; /* スマホ時は余白を少しだけ狭める */
}
.cs-prof-st4-top {
margin-bottom: 24px;
}
.cs-prof-st4-name {
font-size: 1.15rem;
}
}ここでは、以下のレビュー・お客様の声(口コミ)カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
お客様のリアルな声を届けるための超王道デザインです。
上にコメントが入った「吹き出し」を配置し、下向きのしっぽ(三角形)の先に「お客様のアイコンと属性情報」を並べることで、誰が発言しているのか視覚的にスッと入ってきます。
コピペするだけで簡単にプロのようなデザインが実装できて感動しました。レスポンシブ対応も完璧で、スマホから見ても非常に綺麗です。これからも愛用させていただきます。
CSSの知識があまりない私でも、クラス名をそのまま貼るだけで綺麗なカードが作れました。サイトのカラーに合わせて少しだけ色を変えるのも簡単で、とても使いやすいです。
<div class="cs-rev-st1-grid">
<!-- ▼ レビューカード1人目 ▼ -->
<div class="cs-rev-st1-item">
<!-- 吹き出し本体 -->
<div class="cs-rev-st1-bubble">
<div class="cs-rev-st1-stars">★★★★★</div>
<div class="cs-rev-st1-title">デザインの質が格段に上がりました!</div>
<p class="cs-rev-st1-text">
コピペするだけで簡単にプロのようなデザインが実装できて感動しました。レスポンシブ対応も完璧で、スマホから見ても非常に綺麗です。これからも愛用させていただきます。
</p>
</div>
<!-- お客様情報 -->
<div class="cs-rev-st1-customer">
<div class="cs-rev-st1-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="お客様アイコン">
</div>
<div class="cs-rev-st1-info">
<span class="cs-rev-st1-name">A.M 様</span>
<span class="cs-rev-st1-attr">30代 / Webデザイナー</span>
</div>
</div>
</div>
<!-- ▲ レビューカード1人目 ▲ -->
<!-- ▼ レビューカード2人目 ▼ -->
<div class="cs-rev-st1-item">
<div class="cs-rev-st1-bubble">
<!-- 星4つの評価例(最後の星だけ empty クラスをつける) -->
<div class="cs-rev-st1-stars">★★★★<span class="cs-rev-st1-star-empty">★</span></div>
<div class="cs-rev-st1-title">初心者でも迷わず使えます</div>
<p class="cs-rev-st1-text">
CSSの知識があまりない私でも、クラス名をそのまま貼るだけで綺麗なカードが作れました。サイトのカラーに合わせて少しだけ色を変えるのも簡単で、とても使いやすいです。
</p>
</div>
<div class="cs-rev-st1-customer">
<div class="cs-rev-st1-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="お客様アイコン">
</div>
<div class="cs-rev-st1-info">
<span class="cs-rev-st1-name">T.K 様</span>
<span class="cs-rev-st1-attr">20代 / ブロガー</span>
</div>
</div>
</div>
<!-- ▲ レビューカード2人目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-rev-st1-grid {
display: grid;
/* 口コミはテキストメインなので、少し広めの最小幅300pxに設定 */
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* カード全体を縦並びのフレックスボックスにする */
.cs-rev-st1-item {
display: flex;
flex-direction: column;
color: #333333;
}
/* =========================================
2. 吹き出し本体のデザイン
========================================= */
.cs-rev-st1-bubble {
position: relative; /* しっぽを配置する基準 */
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 24px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
margin-bottom: 20px; /* しっぽとお客様情報のスペースを確保 */
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時に吹き出しだけがフワッと浮き上がる */
.cs-rev-st1-bubble:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
/* ━━ 吹き出しの「しっぽ」を作る(CSSによる三角形) ━━ */
.cs-rev-st1-bubble::before,
.cs-rev-st1-bubble::after {
content: '';
position: absolute;
top: 100%; /* 吹き出しの真下からスタート */
left: 45px; /* 左から45pxの位置にしっぽを下ろす */
border: solid transparent;
height: 0;
width: 0;
pointer-events: none;
}
/* しっぽの「影(枠線)」部分 */
.cs-rev-st1-bubble::before {
border-color: rgba(226, 232, 240, 0);
border-top-color: #e2e8f0; /* 吹き出しの枠線と同じ色 */
border-width: 12px;
margin-left: -12px;
}
/* しっぽの「中身(白)」部分 */
.cs-rev-st1-bubble::after {
border-color: rgba(255, 255, 255, 0);
border-top-color: #ffffff; /* 吹き出しの背景と同じ色 */
border-width: 11px;
margin-left: -11px;
}
/* =========================================
3. 吹き出し内のコンテンツ
========================================= */
/* 星評価 */
.cs-rev-st1-stars {
font-size: 1.1rem;
color: #fbbf24; /* 温かみのあるイエロー */
letter-spacing: 0.1em;
margin-bottom: 12px;
line-height: 1;
}
.cs-rev-st1-star-empty {
color: #e2e8f0; /* 未評価のグレー星 */
}
/* 見出し(キャッチコピー) */
.cs-rev-st1-title {
font-size: 1.1rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 8px;
line-height: 1.5;
}
/* 本文 */
.cs-rev-st1-text {
font-size: 0.9rem;
line-height: 1.7;
color: #4a5568;
margin: 0;
}
/* =========================================
4. お客様情報エリア(アイコン+名前)
========================================= */
.cs-rev-st1-customer {
display: flex;
align-items: center;
gap: 12px;
padding-left: 20px; /* 吹き出しのしっぽの位置とアイコンの縦のラインを揃える */
}
/* アイコン画像 */
.cs-rev-st1-avatar {
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
background-color: #f7fafc;
flex-shrink: 0;
}
.cs-rev-st1-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* 名前と属性のコンテナ */
.cs-rev-st1-info {
display: flex;
flex-direction: column;
gap: 2px;
}
.cs-rev-st1-name {
font-size: 0.95rem;
font-weight: 700;
color: #1a202c;
}
.cs-rev-st1-attr {
font-size: 0.75rem;
color: #718096;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-rev-st1-grid {
gap: 24px;
}
.cs-rev-st1-bubble {
padding: 20px;
}
.cs-rev-st1-title {
font-size: 1.05rem;
}
}AmazonやTrustpilot、Googleマップの口コミのような「パッと見でどれくらい評価が高いのか」を直感的に伝えることに特化したデザインです。
上部に星マークと数字のスコアを大きく配置し、ユーザーの安心感を強力に後押しします。
デザインの美しさはもちろんですが、コードが非常に綺麗に整理されていてカスタマイズがしやすい点に驚きました。導入手順も分かりやすく、すぐに実戦で使える素晴らしいテンプレートです。
余計な装飾がなく、どんなサイトにも馴染むプレーンなデザインが良いですね。レスポンシブ対応もしっかりしているので、スマホ表示のチェックの手間が省けました。
<div class="cs-rev-st2-grid">
<!-- ▼ レビューカード1つ目 ▼ -->
<div class="cs-rev-st2-item">
<!-- 評価スコアエリア -->
<div class="cs-rev-st2-rating">
<span class="cs-rev-st2-stars">★★★★★</span>
<span class="cs-rev-st2-score">5.0</span>
</div>
<!-- レビュー内容 -->
<div class="cs-rev-st2-title">期待以上のクオリティでした</div>
<p class="cs-rev-st2-text">
デザインの美しさはもちろんですが、コードが非常に綺麗に整理されていてカスタマイズがしやすい点に驚きました。導入手順も分かりやすく、すぐに実戦で使える素晴らしいテンプレートです。
</p>
<!-- レビュアー情報・日付 -->
<div class="cs-rev-st2-footer">
<div class="cs-rev-st2-reviewer">
<div class="cs-rev-st2-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/80x80.png?text=Y" alt="アイコン">
</div>
<span class="cs-rev-st2-name">Y.S 様</span>
</div>
<span class="cs-rev-st2-date">2026.07.12</span>
</div>
</div>
<!-- ▲ レビューカード1つ目 ▲ -->
<!-- ▼ レビューカード2つ目 ▼ -->
<div class="cs-rev-st2-item">
<div class="cs-rev-st2-rating">
<!-- 星4つの例 -->
<span class="cs-rev-st2-stars">★★★★<span class="cs-rev-st2-star-empty">★</span></span>
<span class="cs-rev-st2-score">4.0</span>
</div>
<div class="cs-rev-st2-title">シンプルで使い勝手が良い</div>
<p class="cs-rev-st2-text">
余計な装飾がなく、どんなサイトにも馴染むプレーンなデザインが良いですね。レスポンシブ対応もしっかりしているので、スマホ表示のチェックの手間が省けました。
</p>
<div class="cs-rev-st2-footer">
<div class="cs-rev-st2-reviewer">
<div class="cs-rev-st2-avatar">
<!-- アバター画像がない場合は背景色と頭文字などで代用すると綺麗です -->
<img src="https://placehold.jp/f7fafc/1a202c/80x80.png?text=K" alt="アイコン">
</div>
<span class="cs-rev-st2-name">K.T 様</span>
</div>
<span class="cs-rev-st2-date">2026.07.05</span>
</div>
</div>
<!-- ▲ レビューカード2つ目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-rev-st2-grid {
display: grid;
/* しっかりとテキストを読ませるため、少し広めの幅を確保 */
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-rev-st2-item {
display: flex;
flex-direction: column;
background-color: #ffffff;
/* 信頼感を出すため、少しカッチリとした枠線を設定 */
border: 1px solid #cbd5e1;
border-top: 4px solid #2589d0; /* 上部にアクセントカラーの太線を引く */
border-radius: 8px;
padding: 24px;
color: #333333;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時の控えめな浮き上がり */
.cs-rev-st2-item:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}
/* =========================================
3. 評価スコアエリア(星と数字)
========================================= */
.cs-rev-st2-rating {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 16px;
}
/* 星アイコン */
.cs-rev-st2-stars {
font-size: 1.3rem;
color: #fbbf24; /* 王道のイエローオレンジ */
letter-spacing: 0.1em;
line-height: 1;
}
/* 未評価の星(グレー) */
.cs-rev-st2-star-empty {
color: #e2e8f0;
}
/* スコア(数字) */
.cs-rev-st2-score {
font-size: 1.2rem;
font-weight: 800;
color: #1a202c;
line-height: 1;
}
/* =========================================
4. レビュー本文エリア
========================================= */
/* 見出し */
.cs-rev-st2-title {
font-size: 1.05rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 10px;
line-height: 1.4;
}
/* 本文 */
.cs-rev-st2-text {
font-size: 0.9rem;
line-height: 1.7;
color: #4a5568;
margin: 0 0 24px 0;
flex-grow: 1; /* 高さが違うカードが並んだ際、本文エリアを伸ばしてフッターを下に揃える */
}
/* =========================================
5. フッター(レビュアー情報・日付)
========================================= */
.cs-rev-st2-footer {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #f1f5f9; /* 薄い線で区切る */
padding-top: 16px;
}
/* 左側:レビュアー情報(アイコン+名前) */
.cs-rev-st2-reviewer {
display: flex;
align-items: center;
gap: 8px;
}
.cs-rev-st2-avatar {
width: 28px;
height: 28px;
border-radius: 50%;
overflow: hidden;
background-color: #f8fafc;
}
.cs-rev-st2-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.cs-rev-st2-name {
font-size: 0.85rem;
font-weight: 600;
color: #1a202c;
}
/* 右側:日付 */
.cs-rev-st2-date {
font-size: 0.75rem;
color: #94a3b8;
}
/* =========================================
6. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-rev-st2-item {
padding: 20px;
}
.cs-rev-st2-stars {
font-size: 1.15rem;
}
.cs-rev-st2-score {
font-size: 1.05rem;
}
.cs-rev-st2-title {
font-size: 1rem;
}
}カードの右上にアクセントとして大きなダブルクォーテーション(“)の装飾をCSSのみで配置し、「お客様からの引用(生の声)」であることを視覚的におしゃれに演出しています。
コーポレートサイトの「導入事例」や、LP(ランディングページ)の「お客様の声」セクションなどで使い勝手の良い汎用性の高いレイアウトです。
美しいデザインのカードを配置したことで、ユーザーの回遊率が劇的に向上しました。読みやすさを第一に考え抜かれたレイアウトだと実感しています。コピペでそのまま使える手軽さも最高です。
HTMLとCSSが分かりやすく整理されているため、自分のサイトのテーマカラーに合わせて色を変更したり、少し余白を調整したりするのが非常に簡単でした。今後のアップデートも楽しみにしています。
<div class="cs-rev-st3-grid">
<!-- ▼ レビューカード1人目 ▼ -->
<div class="cs-rev-st3-item">
<!-- 上部:お客様情報 & クォーテーション装飾 -->
<div class="cs-rev-st3-header">
<div class="cs-rev-st3-customer">
<div class="cs-rev-st3-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="お客様アイコン">
</div>
<div class="cs-rev-st3-info">
<span class="cs-rev-st3-name">田中 健太 様</span>
<span class="cs-rev-st3-attr">40代 / 会社経営</span>
</div>
</div>
<!-- 右上の装飾マーク(CSSで描画するため中身は空でOK) -->
<div class="cs-rev-st3-quote"></div>
</div>
<!-- 下部:レビュー内容 -->
<div class="cs-rev-st3-body">
<div class="cs-rev-st3-stars">★★★★★</div>
<div class="cs-rev-st3-title">サイトの直帰率が大幅に改善しました</div>
<p class="cs-rev-st3-text">
美しいデザインのカードを配置したことで、ユーザーの回遊率が劇的に向上しました。読みやすさを第一に考え抜かれたレイアウトだと実感しています。コピペでそのまま使える手軽さも最高です。
</p>
</div>
</div>
<!-- ▲ レビューカード1人目 ▲ -->
<!-- ▼ レビューカード2人目 ▼ -->
<div class="cs-rev-st3-item">
<div class="cs-rev-st3-header">
<div class="cs-rev-st3-customer">
<div class="cs-rev-st3-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="お客様アイコン">
</div>
<div class="cs-rev-st3-info">
<span class="cs-rev-st3-name">鈴木 真由美 様</span>
<span class="cs-rev-st3-attr">30代 / フリーランス</span>
</div>
</div>
<div class="cs-rev-st3-quote"></div>
</div>
<div class="cs-rev-st3-body">
<!-- 星4つの例 -->
<div class="cs-rev-st3-stars">★★★★<span class="cs-rev-st3-star-empty">★</span></div>
<div class="cs-rev-st3-title">カスタマイズ性の高さが魅力です</div>
<p class="cs-rev-st3-text">
HTMLとCSSが分かりやすく整理されているため、自分のサイトのテーマカラーに合わせて色を変更したり、少し余白を調整したりするのが非常に簡単でした。今後のアップデートも楽しみにしています。
</p>
</div>
</div>
<!-- ▲ レビューカード2人目 ▲ -->
</div>/* =========================================
1. カードを並べるグリッドレイアウト
========================================= */
.cs-rev-st3-grid {
display: grid;
/* テキストメインのため、横幅をしっかり確保する */
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-rev-st3-item {
background-color: #ffffff;
/* 非常に薄いグレーの枠線と控えめな角丸で、上品な印象に */
border: 1px solid #f1f5f9;
border-radius: 12px;
padding: 28px;
color: #333333;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
/* ホバー時に優しく浮き上がる */
.cs-rev-st3-item:hover {
transform: translateY(-4px);
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
/* =========================================
3. 上部:お客様情報 & 装飾エリア
========================================= */
.cs-rev-st3-header {
display: flex;
justify-content: space-between; /* お客様情報を左、装飾を右に配置 */
align-items: flex-start;
margin-bottom: 20px;
}
/* お客様情報の横並び */
.cs-rev-st3-customer {
display: flex;
align-items: center;
gap: 12px;
}
/* アイコン画像 */
.cs-rev-st3-avatar {
width: 56px;
height: 56px;
border-radius: 50%;
overflow: hidden;
background-color: #f8fafc;
border: 2px solid #ffffff;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
flex-shrink: 0;
}
.cs-rev-st3-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* 名前と属性 */
.cs-rev-st3-info {
display: flex;
flex-direction: column;
gap: 4px;
}
.cs-rev-st3-name {
font-size: 1rem;
font-weight: 700;
color: #1a202c;
}
.cs-rev-st3-attr {
font-size: 0.75rem;
color: #64748b;
}
/* ━━ 右上のクォーテーション装飾 ━━ */
.cs-rev-st3-quote {
font-family: Georgia, serif; /* 引用符が美しく見えるセリフ体 */
font-size: 4rem;
line-height: 0.6; /* 高さを詰めてレイアウトの崩れを防ぐ */
color: #e2e8f0; /* 薄いグレーで背景になじませる */
margin-top: -4px; /* 位置の微調整 */
user-select: none; /* テキスト選択できないようにする */
}
/* CSSで記号を描画 */
.cs-rev-st3-quote::before {
content: "“"; /* 左ダブルクォーテーション */
}
/* =========================================
4. 下部:レビュー本文エリア
========================================= */
/* 星評価 */
.cs-rev-st3-stars {
font-size: 1.1rem;
color: #fbbf24;
letter-spacing: 0.05em;
margin-bottom: 12px;
line-height: 1;
}
.cs-rev-st3-star-empty {
color: #e2e8f0;
}
/* 見出し */
.cs-rev-st3-title {
font-size: 1.1rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 12px;
line-height: 1.5;
}
/* 本文 */
.cs-rev-st3-text {
font-size: 0.9rem;
line-height: 1.7;
color: #4a5568;
margin: 0;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-rev-st3-grid {
grid-template-columns: 1fr; /* スマホ時は1列に */
gap: 20px;
}
.cs-rev-st3-item {
padding: 24px 20px;
}
.cs-rev-st3-title {
font-size: 1.05rem;
}
.cs-rev-st3-quote {
font-size: 3.5rem; /* スマホ時は装飾を少し小さく */
}
}さらに「お客様の声」であることを強調するため、ダブルクォーテーションをカードの隅に配置するだけでなく、カードの境界線から少しはみ出すようなデザインで、デザイン雑誌のような「抜け感」を演出しています。
以前までは一つずつCSSを書いていましたが、このテンプレートを導入してからは作業時間が半分以下になりました。デザインも洗練されていて、クライアントからの評判も非常に良いです。
レスポンシブの切り替えポイントや、余白の取り方が本当に絶妙です。SWELLのテーマとも相性が良く、サイト運営がより一層楽しくなりました。自信を持っておすすめできます。
<div class="cs-rev-st4-grid">
<!-- ▼ レビューカード1人目 ▼ -->
<div class="cs-rev-st4-item">
<!-- 引用符装飾 -->
<div class="cs-rev-st4-quote"></div>
<div class="cs-rev-st4-body">
<div class="cs-rev-st4-stars">★★★★★</div>
<!-- 強調されたレビューの要約エリア -->
<div class="cs-rev-st4-highlight">
「Webサイト制作の効率が、劇的に変わりました。」
</div>
<p class="cs-rev-st4-text">
以前までは一つずつCSSを書いていましたが、このテンプレートを導入してからは作業時間が半分以下になりました。デザインも洗練されていて、クライアントからの評判も非常に良いです。
</p>
</div>
<div class="cs-rev-st4-footer">
<div class="cs-rev-st4-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="アイコン">
</div>
<div class="cs-rev-st4-name">佐藤 健太 様</div>
</div>
</div>
<!-- ▲ レビューカード1人目 ▲ -->
<!-- ▼ レビューカード2人目 ▼ -->
<div class="cs-rev-st4-item">
<div class="cs-rev-st4-quote"></div>
<div class="cs-rev-st4-body">
<div class="cs-rev-st4-stars">★★★★★</div>
<div class="cs-rev-st4-highlight">
「かゆい所に手が届く設計で、大変満足です。」
</div>
<p class="cs-rev-st4-text">
レスポンシブの切り替えポイントや、余白の取り方が本当に絶妙です。SWELLのテーマとも相性が良く、サイト運営がより一層楽しくなりました。自信を持っておすすめできます。
</p>
</div>
<div class="cs-rev-st4-footer">
<div class="cs-rev-st4-avatar">
<img src="https://placehold.jp/eef3f6/2589d0/100x100.png?text=User" alt="アイコン">
</div>
<div class="cs-rev-st4-name">美咲 様</div>
</div>
</div>
<!-- ▲ レビューカード2人目 ▲ -->
</div>/* =========================================
1. グリッドレイアウト
========================================= */
.cs-rev-st4-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-rev-st4-item {
position: relative; /* 引用マークの配置基準 */
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 16px;
padding: 40px 32px 32px; /* 上部装飾のためにpadding-topを大きくとる */
color: #333333;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
/* ━━ 引用マーク装飾 ━━ */
.cs-rev-st4-quote {
position: absolute;
top: 20px;
left: 20px;
font-family: Georgia, serif;
font-size: 5rem;
line-height: 0.6;
color: #edf2f7; /* 薄いグレー */
z-index: 1;
}
.cs-rev-st4-quote::before {
content: "“";
}
/* =========================================
3. レビュー内容エリア
========================================= */
.cs-rev-st4-body {
position: relative; /* 引用マークより手前に配置するため */
z-index: 2;
}
.cs-rev-st4-stars {
font-size: 1rem;
color: #fbbf24;
margin-bottom: 16px;
}
/* 強調メッセージエリア */
.cs-rev-st4-highlight {
font-size: 1.1rem;
font-weight: 700;
color: #1a202c;
line-height: 1.5;
margin-bottom: 16px;
padding: 12px;
background-color: #f8fafc; /* 薄い背景色で差別化 */
border-left: 4px solid #2589d0; /* アクセントカラーの太線 */
border-radius: 0 8px 8px 0;
}
.cs-rev-st4-text {
font-size: 0.9rem;
line-height: 1.8;
color: #4a5568;
margin: 0 0 32px 0;
}
/* =========================================
4. フッター(アイコン・名前)
========================================= */
.cs-rev-st4-footer {
display: flex;
align-items: center;
gap: 12px;
border-top: 1px solid #f1f5f9;
padding-top: 20px;
}
.cs-rev-st4-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
overflow: hidden;
background-color: #f1f5f9;
}
.cs-rev-st4-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.cs-rev-st4-name {
font-size: 0.9rem;
font-weight: 600;
color: #1a202c;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-rev-st4-item {
padding: 32px 24px 24px;
}
.cs-rev-st4-quote {
font-size: 4rem;
}
.cs-rev-st4-highlight {
font-size: 1rem;
}
}Webサイト制作、コンサルティング、ダイエットや学習サポートなど、「結果(Before/After)」がサービス提供の核心となる場合、このレイアウトが最もコンバージョン(申し込み)に直結します。
「サイトのUIを刷新しただけで、これほど数字が変わるとは思いませんでした。ユーザーが迷わなくなったのが数値として見て取れます。」
「面倒だったルーチンワークが大幅に削減されました。浮いた時間で新しいコンテンツの企画に集中できるようになったのが最大の収穫です。」
<div class="cs-rev-st5-grid">
<!-- ▼ レビューカード1つ目 ▼ -->
<div class="cs-rev-st5-item">
<!-- 比較エリア -->
<div class="cs-rev-st5-compare">
<div class="cs-rev-st5-before">
<span class="cs-rev-st5-label">BEFORE</span>
<div class="cs-rev-st5-val">直帰率 70%</div>
<div class="cs-rev-st5-sub">古いデザイン</div>
</div>
<!-- 真ん中の矢印アイコン -->
<div class="cs-rev-st5-arrow">→</div>
<div class="cs-rev-st5-after">
<span class="cs-rev-st5-label">AFTER</span>
<div class="cs-rev-st5-val">直帰率 20%</div>
<div class="cs-rev-st5-sub">導入後</div>
</div>
</div>
<!-- レビュー本文エリア -->
<div class="cs-rev-st5-body">
<p class="cs-rev-st5-text">
「サイトのUIを刷新しただけで、これほど数字が変わるとは思いませんでした。ユーザーが迷わなくなったのが数値として見て取れます。」
</p>
</div>
<!-- フッター情報 -->
<div class="cs-rev-st5-footer">
<div class="cs-rev-st5-name">田中 健太 様</div>
<div class="cs-rev-st5-stars">★★★★★</div>
</div>
</div>
<!-- ▲ レビューカード1つ目 ▲ -->
<!-- ▼ レビューカード2つ目 ▼ -->
<div class="cs-rev-st5-item">
<div class="cs-rev-st5-compare">
<div class="cs-rev-st5-before">
<span class="cs-rev-st5-label">BEFORE</span>
<div class="cs-rev-st5-val">作業時間 10h</div>
<div class="cs-rev-st5-sub">手動更新</div>
</div>
<div class="cs-rev-st5-arrow">→</div>
<div class="cs-rev-st5-after">
<span class="cs-rev-st5-label">AFTER</span>
<div class="cs-rev-st5-val">作業時間 2h</div>
<div class="cs-rev-st5-sub">自動化導入</div>
</div>
</div>
<div class="cs-rev-st5-body">
<p class="cs-rev-st5-text">
「面倒だったルーチンワークが大幅に削減されました。浮いた時間で新しいコンテンツの企画に集中できるようになったのが最大の収穫です。」
</p>
</div>
<div class="cs-rev-st5-footer">
<div class="cs-rev-st5-name">鈴木 真由美 様</div>
<div class="cs-rev-st5-stars">★★★★★</div>
</div>
</div>
<!-- ▲ レビューカード2つ目 ▲ -->
</div>/* =========================================
1. グリッドレイアウト
========================================= */
.cs-rev-st5-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-rev-st5-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 32px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
/* =========================================
3. ビフォーアフター比較エリア
========================================= */
.cs-rev-st5-compare {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 24px;
}
/* 共通スタイル */
.cs-rev-st5-before,
.cs-rev-st5-after {
flex: 1;
padding: 16px;
border-radius: 8px;
text-align: center;
}
/* BEFORE(グレー基調) */
.cs-rev-st5-before {
background-color: #f1f5f9;
color: #64748b;
}
/* AFTER(ブルー基調で強調) */
.cs-rev-st5-after {
background-color: #ebf8ff;
color: #2589d0;
border: 1px solid #bee3f8;
}
.cs-rev-st5-label {
display: block;
font-size: 0.65rem;
font-weight: 800;
letter-spacing: 0.1em;
margin-bottom: 4px;
}
.cs-rev-st5-val {
font-size: 1.1rem;
font-weight: 700;
margin-bottom: 2px;
}
.cs-rev-st5-sub {
font-size: 0.75rem;
opacity: 0.8;
}
/* 真ん中の矢印 */
.cs-rev-st5-arrow {
font-size: 1.2rem;
font-weight: 700;
color: #cbd5e1;
}
/* =========================================
4. レビュー内容 & フッター
========================================= */
.cs-rev-st5-body {
margin-bottom: 24px;
}
.cs-rev-st5-text {
font-size: 0.95rem;
line-height: 1.8;
color: #4a5568;
margin: 0;
/* 引用符の代わりにかっこで囲むスタイルを強調 */
font-style: italic;
}
.cs-rev-st5-footer {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #f1f5f9;
padding-top: 16px;
}
.cs-rev-st5-name {
font-size: 0.9rem;
font-weight: 700;
color: #1a202c;
}
.cs-rev-st5-stars {
font-size: 0.9rem;
color: #fbbf24;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-rev-st5-item {
padding: 24px 20px;
}
.cs-rev-st5-val {
font-size: 1rem;
}
.cs-rev-st5-label {
font-size: 0.6rem;
}
}ここでは、以下の料金表・プラン比較カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
「料金表」はWebサイトの売上を左右する最も重要なパーツの一つです。
ユーザーが最も選んでほしい「スタンダードプラン」を中央に配置し、枠線や背景色で少しだけ大きく・鮮やかに強調することで、視線を自然に誘導する設計にしています。
<div class="cs-price-st1-grid">
<div class="cs-price-st1-item">
<div class="cs-price-st1-head">
<div class="cs-price-st1-title">ライトプラン</div>
<div class="cs-price-st1-price">¥2,980<span>/月</span></div>
</div>
<ul class="cs-price-st1-list">
<li>基本機能の利用</li>
<li>メールサポート</li>
<li class="cs-price-st1-inactive">高度な分析機能</li>
<li class="cs-price-st1-inactive">専用アカウント</li>
</ul>
<a href="#" class="cs-price-st1-btn">選択する</a>
</div>
<div class="cs-price-st1-item cs-price-st1-popular">
<div class="cs-price-st1-badge">人気プラン</div>
<div class="cs-price-st1-head">
<div class="cs-price-st1-title">スタンダード</div>
<div class="cs-price-st1-price">¥5,980<span>/月</span></div>
</div>
<ul class="cs-price-st1-list">
<li>基本機能の利用</li>
<li><b>24時間メールサポート</b></li>
<li>高度な分析機能</li>
<li class="cs-price-st1-inactive">専用アカウント</li>
</ul>
<a href="#" class="cs-price-st1-btn cs-price-st1-btn-active">このプランを選ぶ</a>
</div>
<div class="cs-price-st1-item">
<div class="cs-price-st1-head">
<div class="cs-price-st1-title">プレミアム</div>
<div class="cs-price-st1-price">¥9,980<span>/月</span></div>
</div>
<ul class="cs-price-st1-list">
<li>基本機能の利用</li>
<li>24時間メールサポート</li>
<li>高度な分析機能</li>
<li><b>専用アカウント付与</b></li>
</ul>
<a href="#" class="cs-price-st1-btn">選択する</a>
</div>
</div>/* =========================================
1. プランを並べるグリッド
========================================= */
.cs-price-st1-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 24px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体
========================================= */
.cs-price-st1-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: column;
text-align: center;
position: relative; /* バッジ用 */
transition: transform 0.3s ease;
}
/* 一番人気の強調スタイル */
.cs-price-st1-popular {
border: 2px solid #2589d0; /* 少し太い枠線 */
transform: scale(1.03); /* 少し大きく見せる */
z-index: 1;
box-shadow: 0 10px 25px rgba(37, 137, 208, 0.15);
}
/* 人気バッジ */
.cs-price-st1-badge {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
background-color: #2589d0;
color: #ffffff;
font-size: 0.75rem;
font-weight: 700;
padding: 4px 16px;
border-radius: 20px;
}
/* =========================================
3. ヘッダー(タイトル・価格)
========================================= */
.cs-price-st1-title {
font-size: 1.1rem;
font-weight: 700;
color: #4a5568;
margin-bottom: 12px;
}
.cs-price-st1-price {
font-size: 2rem;
font-weight: 800;
color: #1a202c;
margin-bottom: 24px;
}
.cs-price-st1-price span {
font-size: 0.9rem;
font-weight: 400;
color: #718096;
margin-left: 4px;
}
/* =========================================
4. 機能リスト
========================================= */
.cs-price-st1-list {
list-style: none;
padding: 0;
margin: 0 0 32px 0;
text-align: left;
}
.cs-price-st1-list li {
padding: 12px 0;
border-bottom: 1px solid #f1f5f9;
color: #4a5568;
font-size: 0.95rem;
}
/* 非対応の機能スタイル */
.cs-price-st1-inactive {
color: #cbd5e1 !important;
}
/* =========================================
5. ボタン
========================================= */
.cs-price-st1-btn {
display: block;
padding: 16px;
background-color: #f7fafc;
border: 1px solid #e2e8f0;
border-radius: 8px;
color: #4a5568;
font-weight: 700;
text-decoration: none !important;
transition: all 0.3s ease;
margin-top: auto; /* ボタンを下揃えに */
}
.cs-price-st1-btn:hover {
background-color: #edf2f7;
}
/* 人気プラン用ボタン強調 */
.cs-price-st1-btn-active {
background-color: #2589d0;
border-color: #2589d0;
color: #ffffff;
}
.cs-price-st1-btn-active:hover {
background-color: #1a6da7;
}「斜めリボン」をカードの角に配置することで、グリッド全体が整然としたまま「おすすめ感」をアピールする、よりスマートなデザインです。
<div class="cs-price-st2-grid">
<!-- ▼ スタンダードプラン(リボン付き) ▼ -->
<div class="cs-price-st2-item cs-price-st2-recommend">
<div class="cs-price-st2-ribbon">おすすめ</div>
<div class="cs-price-st2-head">
<div class="cs-price-st2-title">スタンダード</div>
<div class="cs-price-st2-price">¥5,980<span>/月</span></div>
</div>
<ul class="cs-price-st2-list">
<li>全機能の利用</li>
<li>24時間メール対応</li>
<li>高度な分析ツール</li>
<li>チームメンバー5名</li>
</ul>
<a href="#" class="cs-price-st2-btn cs-price-st2-btn-active">今すぐ始める</a>
</div>
<!-- ▼ プレミアムプラン(通常) ▼ -->
<div class="cs-price-st2-item">
<div class="cs-price-st2-head">
<div class="cs-price-st2-title">プレミアム</div>
<div class="cs-price-st2-price">¥9,980<span>/月</span></div>
</div>
<ul class="cs-price-st2-list">
<li>全機能の利用</li>
<li>24時間優先サポート</li>
<li>無制限の分析ツール</li>
<li>チームメンバー無制限</li>
</ul>
<a href="#" class="cs-price-st2-btn">お問い合わせ</a>
</div>
</div>/* =========================================
1. グリッドレイアウト
========================================= */
.cs-price-st2-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
box-sizing: border-box;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-price-st2-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 40px 32px;
display: flex;
flex-direction: column;
text-align: center;
position: relative;
overflow: hidden; /* ★リボンのはみ出しをカットするために必須 */
transition: box-shadow 0.3s ease;
}
.cs-price-st2-item:hover {
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}
/* ━━ おすすめリボン(CSSのみで実装) ━━ */
.cs-price-st2-recommend .cs-price-st2-ribbon {
position: absolute;
top: 15px;
right: -30px;
width: 120px;
background-color: #2589d0;
color: #ffffff;
font-size: 0.75rem;
font-weight: 700;
padding: 6px 0;
transform: rotate(45deg);
z-index: 2;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* =========================================
3. ヘッダー・リスト
========================================= */
.cs-price-st2-title {
font-size: 1.2rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 16px;
}
.cs-price-st2-price {
font-size: 2.2rem;
font-weight: 800;
color: #1a202c;
margin-bottom: 32px;
}
.cs-price-st2-price span {
font-size: 0.9rem;
color: #718096;
}
.cs-price-st2-list {
list-style: none;
padding: 0;
margin: 0 0 32px 0;
}
.cs-price-st2-list li {
padding: 12px 0;
border-top: 1px solid #f1f5f9;
color: #4a5568;
}
/* =========================================
4. ボタン
========================================= */
.cs-price-st2-btn {
display: block;
padding: 16px;
background-color: #edf2f7;
border-radius: 8px;
color: #1a202c;
font-weight: 700;
text-decoration: none !important;
transition: all 0.3s ease;
}
.cs-price-st2-btn:hover {
background-color: #e2e8f0;
}
/* おすすめプラン用強調ボタン */
.cs-price-st2-btn-active {
background-color: #2589d0;
color: #ffffff;
}
.cs-price-st2-btn-active:hover {
background-color: #1a6da7;
}縦長のカードを並べる一般的な形式とは異なり、プランを横に広く配置する「横帯(リスト)」スタイルです。
このデザインは、価格よりも「プランに含まれる具体的な機能差分」を詳細に比較検討させたい場合に有効です。
<div class="cs-price-st3-container">
<div class="cs-price-st3-item">
<div class="cs-price-st3-info">
<span class="cs-price-st3-name">エントリー</span>
<span class="cs-price-st3-price">¥2,980</span>
</div>
<div class="cs-price-st3-features">
<span>基本機能</span>
<span>メールサポート</span>
</div>
<a href="#" class="cs-price-st3-btn">選択</a>
</div>
<div class="cs-price-st3-item cs-price-st3-active">
<div class="cs-price-st3-info">
<span class="cs-price-st3-name">スタンダード</span>
<span class="cs-price-st3-price">¥5,980</span>
</div>
<div class="cs-price-st3-features">
<span>基本機能 / メール</span>
<span>高度な分析 / 優先対応</span>
</div>
<a href="#" class="cs-price-st3-btn cs-price-st3-btn-active">選択</a>
</div>
<div class="cs-price-st3-item">
<div class="cs-price-st3-info">
<span class="cs-price-st3-name">プレミアム</span>
<span class="cs-price-st3-price">¥9,980</span>
</div>
<div class="cs-price-st3-features">
<span>全機能</span>
<span>24時間専任サポート</span>
</div>
<a href="#" class="cs-price-st3-btn">選択</a>
</div>
</div>/* =========================================
1. コンテナ設定
========================================= */
.cs-price-st3-container {
display: flex;
flex-direction: column;
gap: 16px; /* 各行の間隔 */
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. 各プラン(リスト行)の設定
========================================= */
.cs-price-st3-item {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 20px 32px;
transition: transform 0.2s ease, border-color 0.2s ease;
}
/* プラン名と価格エリア */
.cs-price-st3-info {
display: flex;
align-items: center;
gap: 24px;
width: 30%; /* 割合で幅を指定 */
}
.cs-price-st3-name {
font-weight: 700;
color: #1a202c;
}
.cs-price-st3-price {
font-weight: 800;
color: #0f172a;
}
/* 機能説明エリア */
.cs-price-st3-features {
display: flex;
gap: 24px;
font-size: 0.85rem;
color: #64748b;
width: 40%;
}
/* ボタンエリア */
.cs-price-st3-btn {
text-decoration: none !important;
padding: 8px 24px;
border: 1px solid #e2e8f0;
border-radius: 4px;
font-size: 0.85rem;
color: #4a5568;
font-weight: 600;
transition: all 0.2s ease;
}
/* =========================================
3. アクセント設定(スタンダードプラン)
========================================= */
.cs-price-st3-active {
border-color: #2589d0;
background-color: #f0f8ff;
}
.cs-price-st3-btn-active {
background-color: #2589d0;
color: #ffffff;
border-color: #2589d0;
}
/* =========================================
4. レスポンシブ対応
========================================= */
@media screen and (max-width: 768px) {
.cs-price-st3-item {
flex-direction: column; /* スマホ時は縦並びに */
gap: 16px;
padding: 24px;
text-align: center;
}
.cs-price-st3-info,
.cs-price-st3-features {
width: 100%;
justify-content: center;
}
}このデザインは、カードをページから「浮き上がらせる」ような深い影を落とすことで、情報の階層を視覚的に表現したモダンなスタイルです。
単なる枠線ではなく、「影のグラデーション」を使ってZ軸(奥行き)を感じさせるため、サイトに高級感と立体感が生まれます。
<div class="cs-price-st4-grid">
<div class="cs-price-st4-item">
<div class="cs-price-st4-title">スタンダード</div>
<div class="cs-price-st4-price">¥2,980<span>/月</span></div>
<ul class="cs-price-st4-list">
<li>基本機能</li>
<li>メールサポート</li>
</ul>
<a href="#" class="cs-price-st4-btn">選択する</a>
</div>
<div class="cs-price-st4-item cs-price-st4-featured">
<div class="cs-price-st4-title">プロ</div>
<div class="cs-price-st4-price">¥5,980<span>/月</span></div>
<ul class="cs-price-st4-list">
<li>基本機能の全て</li>
<li>24時間サポート</li>
<li>高度な分析</li>
</ul>
<a href="#" class="cs-price-st4-btn cs-price-st4-btn-active">このプランを選ぶ</a>
</div>
<div class="cs-price-st4-item">
<div class="cs-price-st4-title">エンタープライズ</div>
<div class="cs-price-st4-price">¥9,980<span>/月</span></div>
<ul class="cs-price-st4-list">
<li>プロプランの全て</li>
<li>専任担当者</li>
<li>APIアクセス</li>
</ul>
<a href="#" class="cs-price-st4-btn">相談する</a>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-price-st4-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
align-items: center; /* カードの高さを揃える */
}
/* =========================================
2. カード本体(立体シャドウ)
========================================= */
.cs-price-st4-item {
background-color: #ffffff;
border-radius: 16px;
padding: 40px 32px;
text-align: center;
/* 多重の影で立体感を演出 */
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
/* ホバー時に影を深くしてカードが浮き上がる */
.cs-price-st4-item:hover {
transform: translateY(-10px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
/* 強調プランのスタイル */
.cs-price-st4-featured {
border: 2px solid #2589d0;
transform: scale(1.05); /* 少し大きく表示 */
}
/* =========================================
3. テキスト・価格 */
========================================= */
.cs-price-st4-title {
font-size: 1rem;
font-weight: 700;
color: #64748b;
margin-bottom: 16px;
}
.cs-price-st4-price {
font-size: 2.5rem;
font-weight: 800;
color: #1a202c;
margin-bottom: 24px;
}
.cs-price-st4-price span {
font-size: 0.9rem;
color: #94a3b8;
}
.cs-price-st4-list {
list-style: none;
padding: 0;
margin: 0 0 32px 0;
}
.cs-price-st4-list li {
padding: 8px 0;
color: #4a5568;
font-size: 0.9rem;
}
/* =========================================
4. ボタン */
========================================= */
.cs-price-st4-btn {
display: block;
padding: 14px;
border-radius: 8px;
background-color: #f1f5f9;
color: #334155;
font-weight: 700;
text-decoration: none !important;
transition: background 0.3s ease;
}
.cs-price-st4-btn:hover {
background-color: #e2e8f0;
}
.cs-price-st4-btn-active {
background-color: #2589d0;
color: #ffffff;
}
.cs-price-st4-btn-active:hover {
background-color: #1a6da7;
}
/* =========================================
5. レスポンシブ */
========================================= */
@media screen and (max-width: 480px) {
.cs-price-st4-featured {
transform: scale(1); /* スマホ時は拡大を解除 */
}
}ここでは、以下の機能・特徴・メリット紹介カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
サービスの特徴や、商品のメリットを3〜4つ並べて紹介するセクションでよく使われるスタイルです。
ごちゃつかせず、アイコンの視覚情報と短いキャッチコピーで直感的に内容を理解させることに特化しています。
最新の暗号化技術を採用し、お客様のデータを安全に保護します。
サーバー稼働率99.9%を誇り、いつでも安定したサービスを提供します。
細部までこだわり抜いた設計で、ユーザー満足度を最大化します。
<div class="cs-feat-st1-grid">
<!-- ▼ 特徴カード1 ▼ -->
<div class="cs-feat-st1-item">
<div class="cs-feat-st1-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
</div>
<div class="cs-feat-st1-title">高いセキュリティ</div>
<p class="cs-feat-st1-text">
最新の暗号化技術を採用し、お客様のデータを安全に保護します。
</p>
</div>
<!-- ▼ 特徴カード2 ▼ -->
<div class="cs-feat-st1-item">
<div class="cs-feat-st1-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
</div>
<div class="cs-feat-st1-title">24時間稼働</div>
<p class="cs-feat-st1-text">
サーバー稼働率99.9%を誇り、いつでも安定したサービスを提供します。
</p>
</div>
<!-- ▼ 特徴カード3 ▼ -->
<div class="cs-feat-st1-item">
<div class="cs-feat-st1-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
</div>
<div class="cs-feat-st1-title">圧倒的な品質</div>
<p class="cs-feat-st1-text">
細部までこだわり抜いた設計で、ユーザー満足度を最大化します。
</p>
</div>
</div>/* =========================================
1. グリッド設定(PC: 3列、タブレット: 2列、スマホ: 1列)
========================================= */
.cs-feat-st1-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 32px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体
========================================= */
.cs-feat-st1-item {
background-color: #ffffff;
padding: 32px;
text-align: center;
border: 1px solid #e2e8f0;
border-radius: 12px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cs-feat-st1-item:hover {
transform: translateY(-8px);
box-shadow: 0 12px 24px rgba(0,0,0,0.06);
}
/* =========================================
3. アイコンデザイン
========================================= */
.cs-feat-st1-icon {
width: 64px;
height: 64px;
margin: 0 auto 24px;
background-color: #eff6ff; /* 薄いブルーの背景 */
color: #2589d0; /* アクセントカラーのアイコン */
border-radius: 16px;
display: flex;
justify-content: center;
align-items: center;
}
.cs-feat-st1-icon svg {
width: 32px;
height: 32px;
}
/* =========================================
4. テキスト
========================================= */
.cs-feat-st1-title {
font-size: 1.15rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 12px;
}
.cs-feat-st1-text {
font-size: 0.9rem;
line-height: 1.7;
color: #4a5568;
margin: 0;
}「導入の流れ」「サービスの利用手順」「学習ロードマップ」など、順序(ステップ)を説明する際に強力なデザインです。
数字(ナンバー)を大きく配置することで、ユーザーが「迷わずに次に何をするべきか」を直感的に把握できます。
まずは公式サイトからメールアドレスを登録し、アカウントを作成してください。所要時間は約1分です。
目的に合わせた最適なプランを選択します。後からいつでも変更が可能なので、気軽にお試しいただけます。
すべての設定が完了しました。ダッシュボードからすぐにプロジェクトを開始することができます。
<div class="cs-feat-st2-grid">
<!-- ▼ ステップ1 ▼ -->
<div class="cs-feat-st2-item">
<div class="cs-feat-st2-number">01</div>
<div class="cs-feat-st2-title">アカウント登録</div>
<p class="cs-feat-st2-text">
まずは公式サイトからメールアドレスを登録し、アカウントを作成してください。所要時間は約1分です。
</p>
</div>
<!-- ▼ ステップ2 ▼ -->
<div class="cs-feat-st2-item">
<div class="cs-feat-st2-number">02</div>
<div class="cs-feat-st2-title">プランの選択</div>
<p class="cs-feat-st2-text">
目的に合わせた最適なプランを選択します。後からいつでも変更が可能なので、気軽にお試しいただけます。
</p>
</div>
<!-- ▼ ステップ3 ▼ -->
<div class="cs-feat-st2-item">
<div class="cs-feat-st2-number">03</div>
<div class="cs-feat-st2-title">サービス開始</div>
<p class="cs-feat-st2-text">
すべての設定が完了しました。ダッシュボードからすぐにプロジェクトを開始することができます。
</p>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-feat-st2-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-feat-st2-item {
position: relative;
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 40px 32px 32px; /* ナンバーを置くため上を広めに */
transition: transform 0.3s ease;
}
/* ホバー時にカードが浮き上がる */
.cs-feat-st2-item:hover {
transform: translateY(-8px);
border-color: #2589d0;
}
/* =========================================
3. ナンバリングデザイン
========================================= */
.cs-feat-st2-number {
position: absolute;
top: -15px;
left: 20px;
font-size: 2.5rem;
font-weight: 900;
line-height: 1;
color: #edf2f7; /* 背景に馴染む薄いグレー */
transition: color 0.3s ease;
}
/* カードホバー時に数字の色を変化させる */
.cs-feat-st2-item:hover .cs-feat-st2-number {
color: #dbeafe;
}
/* =========================================
4. テキストデザイン
========================================= */
.cs-feat-st2-title {
font-size: 1.25rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 16px;
position: relative; /* 数字の上にテキストを置くため */
}
.cs-feat-st2-text {
font-size: 0.9rem;
line-height: 1.7;
color: #4a5568;
margin: 0;
}
/* =========================================
5. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-feat-st2-item {
padding: 32px 24px 24px;
}
}サイトのメインビジュアル直下や、サービス紹介のセクションで「ここを一番見てほしい!」という重要なポイントを並べる際に最適で視認性の高いデザインです。
単なる単色背景ではなく、CSSで滑らかなグラデーションを背景に適用し、高級感と先進性を演出しました。
文字色は白にすることで、コントラストを最大化し、スマホでも読みやすい設計です。
最新の暗号化技術を標準搭載。お客様の機密情報を24時間体制で強固に保護します。
細部まで徹底的にこだわり抜いた設計で、ユーザーの体験価値を最大化します。
独自のインフラ技術により、どのデバイスからでも驚くほど高速な操作感を実現。
<div class="cs-feat-st3-grid">
<!-- ▼ 特徴カード1 ▼ -->
<div class="cs-feat-st3-item cs-feat-st3-grad1">
<div class="cs-feat-st3-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
</div>
<div class="cs-feat-st3-title">圧倒的なセキュリティ</div>
<p class="cs-feat-st3-text">
最新の暗号化技術を標準搭載。お客様の機密情報を24時間体制で強固に保護します。
</p>
</div>
<!-- ▼ 特徴カード2 ▼ -->
<div class="cs-feat-st3-item cs-feat-st3-grad2">
<div class="cs-feat-st3-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
</div>
<div class="cs-feat-st3-title">選ばれる品質</div>
<p class="cs-feat-st3-text">
細部まで徹底的にこだわり抜いた設計で、ユーザーの体験価値を最大化します。
</p>
</div>
<!-- ▼ 特徴カード3 ▼ -->
<div class="cs-feat-st3-item cs-feat-st3-grad3">
<div class="cs-feat-st3-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
</div>
<div class="cs-feat-st3-title">高速レスポンス</div>
<p class="cs-feat-st3-text">
独自のインフラ技術により、どのデバイスからでも驚くほど高速な操作感を実現。
</p>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-feat-st3-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体のデザイン
========================================= */
.cs-feat-st3-item {
padding: 32px;
border-radius: 16px;
color: #ffffff; /* 白文字 */
transition: transform 0.3s ease;
}
.cs-feat-st3-item:hover {
transform: translateY(-8px);
}
/* ━━ グラデーションのバリエーション ━━ */
.cs-feat-st3-grad1 { background: linear-gradient(135deg, #2589d0 0%, #1a365d 100%); }
.cs-feat-st3-grad2 { background: linear-gradient(135deg, #48bb78 0%, #22543d 100%); }
.cs-feat-st3-grad3 { background: linear-gradient(135deg, #ed8936 0%, #7b341e 100%); }
/* =========================================
3. アイコン・テキスト
========================================= */
.cs-feat-st3-icon {
width: 56px;
height: 56px;
background-color: rgba(255, 255, 255, 0.2); /* 半透明の白背景 */
border-radius: 12px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}
.cs-feat-st3-icon svg {
width: 28px;
height: 28px;
color: #ffffff;
}
.cs-feat-st3-title {
font-size: 1.25rem;
font-weight: 700;
margin-bottom: 12px;
}
.cs-feat-st3-text {
font-size: 0.9rem;
line-height: 1.7;
opacity: 0.9; /* 少しだけ透明度を下げて柔らかく */
margin: 0;
}ダークテーマのサイトに映える、境界線が光っているかのようなネオン風デザインです。
背景自体を暗く設定し、枠線にグラデーションを当てることで、テクノロジー系、クリエイティブ系、ゲーミング系のサイトで効果的な「先進性」を表現しています。
次世代アーキテクチャにより、従来の3倍の処理速度を実証しました。
面倒な定型業務をAIが自動検知し、ワークフローを劇的に効率化します。
最新のプロトコルで通信を保護。業界最高水準のセキュリティを実現。
<div class="cs-feat-st4-grid">
<!-- ▼ 特徴カード1 ▼ -->
<div class="cs-feat-st4-item">
<div class="cs-feat-st4-inner">
<div class="cs-feat-st4-icon">⚡</div>
<div class="cs-feat-st4-title">超高速処理</div>
<p class="cs-feat-st4-text">
次世代アーキテクチャにより、従来の3倍の処理速度を実証しました。
</p>
</div>
</div>
<!-- ▼ 特徴カード2 ▼ -->
<div class="cs-feat-st4-item">
<div class="cs-feat-st4-inner">
<div class="cs-feat-st4-icon">🤖</div>
<div class="cs-feat-st4-title">AIオートメーション</div>
<p class="cs-feat-st4-text">
面倒な定型業務をAIが自動検知し、ワークフローを劇的に効率化します。
</p>
</div>
</div>
<!-- ▼ 特徴カード3 ▼ -->
<div class="cs-feat-st4-item">
<div class="cs-feat-st4-inner">
<div class="cs-feat-st4-icon">🛡️</div>
<div class="cs-feat-st4-title">堅牢な暗号化</div>
<p class="cs-feat-st4-text">
最新のプロトコルで通信を保護。業界最高水準のセキュリティを実現。
</p>
</div>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-feat-st4-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
background-color: #0f172a; /* 背景をダークにする */
padding: 24px;
border-radius: 16px;
}
/* =========================================
2. 枠線グラデーションのロジック
========================================= */
.cs-feat-st4-item {
position: relative;
background-color: #0f172a; /* カードのベース色 */
border-radius: 12px;
padding: 2px; /* 枠線の太さ */
transition: transform 0.3s ease;
}
/* 枠線のグラデーションを::beforeで作る */
.cs-feat-st4-item::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 12px;
background: linear-gradient(135deg, #38b2ac, #667eea, #9f7aea); /* ネオンカラー */
z-index: 1;
}
/* カードの中身を乗せるコンテナ */
.cs-feat-st4-inner {
position: relative;
background-color: #0f172a; /* ここを枠線より少し濃く */
border-radius: 10px;
padding: 32px;
z-index: 2;
height: 100%;
box-sizing: border-box;
}
.cs-feat-st4-item:hover {
transform: translateY(-5px);
}
/* =========================================
3. コンテンツデザイン
========================================= */
.cs-feat-st4-icon {
font-size: 2rem;
margin-bottom: 20px;
}
.cs-feat-st4-title {
font-size: 1rem;
font-weight: 700;
color: #ffffff;
margin-bottom: 12px;
}
.cs-feat-st4-text {
font-size: 0.9rem;
line-height: 1.6;
color: #94a3b8;
margin: 0;
}ここでは、以下のポートフォリオ・実績・事例カードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
Web制作会社やクリエイターのポートフォリオサイトでよく見かける、「画像自体はシンプルに見せ、ホバーした瞬間に詳細情報を浮かび上がらせる」というモダンでスタイリッシュな表現です。
<div class="cs-port-st1-grid">
<!-- ▼ ポートフォリオカード1 ▼ -->
<a href="#" class="cs-port-st1-item">
<div class="cs-port-st1-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+A" alt="プロジェクト画像">
<!-- マスクされた詳細情報 -->
<div class="cs-port-st1-mask">
<div class="cs-port-st1-info">
<span class="cs-port-st1-cat">Web Design</span>
<div class="cs-port-st1-title">E-commerce UI Design</div>
</div>
</div>
</div>
</a>
<!-- ▼ ポートフォリオカード2 ▼ -->
<a href="#" class="cs-port-st1-item">
<div class="cs-port-st1-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+B" alt="プロジェクト画像">
<div class="cs-port-st1-mask">
<div class="cs-port-st1-info">
<span class="cs-port-st1-cat">Branding</span>
<div class="cs-port-st1-title">Corporate Identity</div>
</div>
</div>
</div>
</a>
<!-- ▼ ポートフォリオカード3 ▼ -->
<a href="#" class="cs-port-st1-item">
<div class="cs-port-st1-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+C" alt="プロジェクト画像">
<div class="cs-port-st1-mask">
<div class="cs-port-st1-info">
<span class="cs-port-st1-cat">Development</span>
<div class="cs-port-st1-title">SaaS Dashboard</div>
</div>
</div>
</div>
</a>
</div>/* =========================================
1. グリッドレイアウト
========================================= */
.cs-port-st1-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体
========================================= */
.cs-port-st1-item {
display: block;
text-decoration: none !important;
border-radius: 12px;
overflow: hidden;
position: relative;
background-color: #f8fafc;
}
/* 画像エリア */
.cs-port-st1-thumb {
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
position: relative;
}
.cs-port-st1-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
/* ホバー時に画像を少しズーム */
.cs-port-st1-item:hover .cs-port-st1-thumb img {
transform: scale(1.08);
}
/* =========================================
3. マスク(ホバー時の黒いオーバーレイ)
========================================= */
.cs-port-st1-mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* 最初は透明にしておく */
background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
opacity: 0;
transition: opacity 0.4s ease;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 32px;
box-sizing: border-box;
}
/* ホバーでマスクを表示 */
.cs-port-st1-item:hover .cs-port-st1-mask {
opacity: 1;
}
/* =========================================
4. インフォメーションテキスト
========================================= */
.cs-port-st1-info {
transform: translateY(20px); /* 最初は少し下にずらしておく */
transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
/* ホバーでテキストがふわっと上に浮き上がる */
.cs-port-st1-item:hover .cs-port-st1-info {
transform: translateY(0);
}
.cs-port-st1-cat {
font-size: 0.75rem;
font-weight: 700;
color: #ffffff;
text-transform: uppercase;
letter-spacing: 0.1em;
padding: 4px 10px;
background-color: #2589d0;
border-radius: 4px;
display: inline-block;
margin-bottom: 12px;
}
.cs-port-st1-title {
font-size: 1.25rem;
font-weight: 700;
color: #ffffff;
line-height: 1.3;
}「スマホやPCの枠(モックアップ)」の中にWebサイトのスクリーンショットがはめ込まれているようなデザインです。
Webデザインの実績やアプリ開発の事例紹介において、「実際のデバイスで見た時の雰囲気」を視覚的に伝えるのに適したレイアウトです。
<div class="cs-port-st2-grid">
<!-- ▼ モックアップカード1:PC画面 ▼ -->
<div class="cs-port-st2-item cs-port-st2-pc">
<div class="cs-port-st2-frame">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/800x500.png?text=PC+Website+Design" alt="プロジェクト画像">
</div>
<div class="cs-port-st2-body">
<div class="cs-port-st2-name">コーポレートサイト制作</div>
<div class="cs-port-st2-desc">モダンなUIデザインと高速なレスポンシブ実装を実現。</div>
</div>
</div>
<!-- ▼ モックアップカード2:スマホ画面 ▼ -->
<div class="cs-port-st2-item cs-port-st2-sp">
<div class="cs-port-st2-frame">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/300x600.png?text=Mobile+App+UI" alt="プロジェクト画像">
</div>
<div class="cs-port-st2-body">
<div class="cs-port-st2-name">サービス用アプリUI</div>
<div class="cs-port-st2-desc">ユーザー導線を最適化した直感的なインターフェース。</div>
</div>
</div>
</div>/* =========================================
1. グリッドレイアウト
========================================= */
.cs-port-st2-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 40px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. デバイスフレーム共通デザイン
========================================= */
.cs-port-st2-item {
display: flex;
flex-direction: column;
gap: 20px;
}
.cs-port-st2-frame {
background-color: #1a202c;
padding: 12px;
border-radius: 12px;
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
overflow: hidden;
transition: transform 0.4s ease;
}
.cs-port-st2-item:hover .cs-port-st2-frame {
transform: translateY(-8px);
}
.cs-port-st2-frame img {
display: block;
width: 100%;
height: auto;
border-radius: 6px;
}
/* ━━ デバイスごとの枠設定 ━━ */
/* PC枠(横長) */
.cs-port-st2-pc .cs-port-st2-frame {
padding-bottom: 30px; /* 下部にフット枠を作る */
position: relative;
}
.cs-port-st2-pc .cs-port-st2-frame::after {
content: '';
position: absolute;
bottom: 8px;
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 6px;
background: #4a5568;
border-radius: 4px;
}
/* スマホ枠(縦長) */
.cs-port-st2-sp .cs-port-st2-frame {
width: 240px; /* スマホは細く */
margin: 0 auto;
padding: 16px 8px;
border-radius: 24px;
}
/* =========================================
3. テキスト情報
========================================= */
.cs-port-st2-body {
text-align: center;
}
.cs-port-st2-name {
font-size: 1.1rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 8px;
}
.cs-port-st2-desc {
font-size: 0.85rem;
color: #718096;
}
/* =========================================
4. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-port-st2-grid {
gap: 32px;
}
.cs-port-st2-sp .cs-port-st2-frame {
width: 180px; /* スマホではさらにコンパクトに */
}
}「何を作ったか(タイトル)」だけでなく、「Webデザイン」「コーディング」「ブランディング」といった制作の範囲(担当領域)をラベルとして目立つように配置したデザインです。
クライアントがポートフォリオを見た際、「自分に何をしてくれるのか」が一目で理解できるため、成約率を大きく高める効果があります。
ブランドの世界観を言語化し、デザインから実装まで一貫して担当しました。
業務効率化のためのアプリUI設計。ユーザーの動線を分析し、直感的な操作を実現しました。
店舗の看板やメニュー表を含めたトータルブランディング。暖かみのあるデザインを心がけました。
<div class="cs-port-st3-grid">
<!-- ▼ ポートフォリオカード1 ▼ -->
<div class="cs-port-st3-item">
<div class="cs-port-st3-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+01" alt="プロジェクト画像">
</div>
<div class="cs-port-st3-body">
<div class="cs-port-st3-labels">
<span class="cs-port-st3-tag">Web Design</span>
<span class="cs-port-st3-tag">Coding</span>
</div>
<div class="cs-port-st3-title">ブランドサイト構築</div>
<p class="cs-port-st3-text">
ブランドの世界観を言語化し、デザインから実装まで一貫して担当しました。
</p>
</div>
</div>
<!-- ▼ ポートフォリオカード2 ▼ -->
<div class="cs-port-st3-item">
<div class="cs-port-st3-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+02" alt="プロジェクト画像">
</div>
<div class="cs-port-st3-body">
<div class="cs-port-st3-labels">
<span class="cs-port-st3-tag cs-port-st3-tag-alt">UI/UX</span>
<span class="cs-port-st3-tag cs-port-st3-tag-alt">App Design</span>
</div>
<div class="cs-port-st3-title">社内ツールアプリUI</div>
<p class="cs-port-st3-text">
業務効率化のためのアプリUI設計。ユーザーの動線を分析し、直感的な操作を実現しました。
</p>
</div>
</div>
<!-- ▼ ポートフォリオカード3 ▼ -->
<div class="cs-port-st3-item">
<div class="cs-port-st3-thumb">
<img src="https://placehold.jp/24/f1f5f9/94a3b8/400x300.png?text=Project+03" alt="プロジェクト画像">
</div>
<div class="cs-port-st3-body">
<div class="cs-port-st3-labels">
<span class="cs-port-st3-tag">Branding</span>
<span class="cs-port-st3-tag">Graphic</span>
</div>
<div class="cs-port-st3-title">カフェ店舗ロゴ制作</div>
<p class="cs-port-st3-text">
店舗の看板やメニュー表を含めたトータルブランディング。暖かみのあるデザインを心がけました。
</p>
</div>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-port-st3-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体
========================================= */
.cs-port-st3-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cs-port-st3-item:hover {
transform: translateY(-8px);
box-shadow: 0 12px 24px rgba(0,0,0,0.06);
}
.cs-port-st3-thumb {
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
}
.cs-port-st3-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* =========================================
3. ボディ(テキスト・ラベル)
========================================= */
.cs-port-st3-body {
padding: 24px;
}
/* ラベルエリア */
.cs-port-st3-labels {
display: flex;
gap: 8px;
margin-bottom: 16px;
}
.cs-port-st3-tag {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #2589d0;
background-color: #eff6ff;
padding: 4px 10px;
border-radius: 4px;
}
/* 別色パターン */
.cs-port-st3-tag-alt {
color: #48bb78;
background-color: #f0fff4;
}
/* タイトル・テキスト */
.cs-port-st3-title {
font-size: 1.15rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 12px;
}
.cs-port-st3-text {
font-size: 0.85rem;
line-height: 1.7;
color: #64748b;
margin: 0;
}
/* =========================================
4. レスポンシブ対応
========================================= */
@media screen and (max-width: 480px) {
.cs-port-st3-body {
padding: 20px;
}
}「ビジュアルスプリット」とは、画面を大きく左右(または上下)に分割し、一方に印象的なビジュアル、もう一方に詳細なストーリーを配置するレイアウトです。
このデザインは、一つの事例をじっくり見せたい場合やブランドのストーリーを語りたい際に強力で、Webマガジンのような高級感を演出できます。
ブランドの歴史を尊重しつつ、現代のデジタル環境に適した新しいUI言語を構築しました。ユーザーの滞在時間が導入前と比較して約40%向上しました。
View Project →
「共感」をテーマにした、新しいブランドロゴのアイデンティティ設計。名刺からWebサイトまでトータルで展開しています。
View Project →<div class="cs-split-grid">
<div class="cs-split-item">
<div class="cs-split-thumb">
<img src="https://placehold.jp/24/e2e8f0/64748b/800x600.png?text=Visual+Image" alt="プロジェクト画像">
</div>
<div class="cs-split-body">
<div class="cs-split-category">WEB DESIGN / UI</div>
<div class="cs-split-title">グローバルブランドの刷新</div>
<p class="cs-split-text">
ブランドの歴史を尊重しつつ、現代のデジタル環境に適した新しいUI言語を構築しました。ユーザーの滞在時間が導入前と比較して約40%向上しました。
</p>
<a href="#" class="cs-split-link">View Project →</a>
</div>
</div>
<div class="cs-split-item cs-split-reverse">
<div class="cs-split-thumb">
<img src="https://placehold.jp/24/e2e8f0/64748b/800x600.png?text=Visual+Image" alt="プロジェクト画像">
</div>
<div class="cs-split-body">
<div class="cs-split-category">BRANDING / GRAPHIC</div>
<div class="cs-split-title">スタートアップのロゴ制作</div>
<p class="cs-split-text">
「共感」をテーマにした、新しいブランドロゴのアイデンティティ設計。名刺からWebサイトまでトータルで展開しています。
</p>
<a href="#" class="cs-split-link">View Project →</a>
</div>
</div>
</div>/* =========================================
1. コンテナ・グリッド設定
========================================= */
.cs-split-grid {
display: flex;
flex-direction: column;
gap: 60px; /* 事例同士の間隔は広めに */
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体(横長スプリット)
========================================= */
.cs-split-item {
display: flex;
align-items: center;
gap: 40px;
background-color: #ffffff;
}
/* 交互に左右を入れ替えるための反転クラス */
.cs-split-reverse {
flex-direction: row-reverse;
}
/* =========================================
3. ビジュアルエリア(画像)
========================================= */
.cs-split-thumb {
flex: 1;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.cs-split-thumb img {
width: 100%;
display: block;
transition: transform 0.5s ease;
}
.cs-split-item:hover .cs-split-thumb img {
transform: scale(1.05);
}
/* =========================================
4. テキストボディエリア
========================================= */
.cs-split-body {
flex: 1;
padding: 20px 0;
}
.cs-split-category {
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.15em;
color: #2589d0;
margin-bottom: 12px;
}
.cs-split-title {
font-size: 1.8rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 16px;
line-height: 1.2;
}
.cs-split-text {
font-size: 0.95rem;
line-height: 1.8;
color: #4a5568;
margin-bottom: 24px;
}
.cs-split-link {
font-size: 0.9rem;
font-weight: 700;
color: #1a202c;
text-decoration: none !important;
border-bottom: 2px solid #2589d0;
padding-bottom: 2px;
}
/* =========================================
5. レスポンシブ対応(スマホ時は縦並び)
========================================= */
@media screen and (max-width: 768px) {
.cs-split-item,
.cs-split-reverse {
flex-direction: column; /* 縦並びに変更 */
}
.cs-split-title {
font-size: 1.4rem;
}
}ここでは、以下の特殊・トレンド・インタラクティブカードのデザイン例を記載しています。
実際のデザインプレビューとHTML&CSSコードを記載しています。
マウスを乗せるとカードが3D空間で滑らかに回転し、表(アイコン)から裏(詳細説明)へと切り替わる、動きのあるインタラクティブなUIです。
Webサイトの「サービス紹介」や「メンバー紹介」などで、限られたスペースに情報を詰め込みたい場合に最適です。
独自の最適化技術により、サイト表示速度を劇的に改善します。
最新のトレンドを取り入れた、洗練されたインターフェースを構築。
最新の暗号化プロトコルで、お客様のデータを強固に守ります。
<div class="cs-flip-st1-grid">
<!-- ▼ フリップカード1つ目 ▼ -->
<div class="cs-flip-st1-item">
<div class="cs-flip-st1-inner">
<!-- 【表】アイコン -->
<div class="cs-flip-st1-front">
<div class="cs-flip-st1-icon">🚀</div>
<div class="cs-flip-st1-label">高速パフォーマンス</div>
</div>
<!-- 【裏】詳細 -->
<div class="cs-flip-st1-back">
<div class="cs-flip-st1-title">Speed Up</div>
<p class="cs-flip-st1-desc">
独自の最適化技術により、サイト表示速度を劇的に改善します。
</p>
</div>
</div>
</div>
<!-- ▼ フリップカード2つ目 ▼ -->
<div class="cs-flip-st1-item">
<div class="cs-flip-st1-inner">
<div class="cs-flip-st1-front">
<div class="cs-flip-st1-icon">🎨</div>
<div class="cs-flip-st1-label">モダンデザイン</div>
</div>
<div class="cs-flip-st1-back">
<div class="cs-flip-st1-title">Modern UI</div>
<p class="cs-flip-st1-desc">
最新のトレンドを取り入れた、洗練されたインターフェースを構築。
</p>
</div>
</div>
</div>
<!-- ▼ フリップカード3つ目 ▼ -->
<div class="cs-flip-st1-item">
<div class="cs-flip-st1-inner">
<div class="cs-flip-st1-front">
<div class="cs-flip-st1-icon">🛡️</div>
<div class="cs-flip-st1-label">高セキュリティ</div>
</div>
<div class="cs-flip-st1-back">
<div class="cs-flip-st1-title">Security</div>
<p class="cs-flip-st1-desc">
最新の暗号化プロトコルで、お客様のデータを強固に守ります。
</p>
</div>
</div>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-flip-st1-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
width: 100%;
margin-bottom: 2em;
perspective: 1000px; /* 3D空間の深さを設定 */
}
/* =========================================
2. カード本体(フリップの土台)
========================================= */
.cs-flip-st1-item {
background-color: transparent;
width: 100%;
height: 300px; /* カードの高さ */
cursor: pointer;
}
/* Inner(回転させる要素) */
.cs-flip-st1-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
transform-style: preserve-3d; /* 子要素を3Dとして保持 */
}
/* ホバー時に回転 */
.cs-flip-st1-item:hover .cs-flip-st1-inner {
transform: rotateY(180deg);
}
/* 表と裏の共通設定 */
.cs-flip-st1-front,
.cs-flip-st1-back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden; /* 回転した時に裏側が見えないようにする */
border-radius: 16px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 32px;
box-sizing: border-box;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
/* 表のデザイン */
.cs-flip-st1-front {
background-color: #ffffff;
border: 1px solid #e2e8f0;
}
.cs-flip-st1-icon { font-size: 3rem; margin-bottom: 16px; }
.cs-flip-st1-label { font-weight: 700; color: #1a202c; }
/* 裏のデザイン */
.cs-flip-st1-back {
background-color: #2589d0;
color: #ffffff;
transform: rotateY(180deg); /* 裏面を最初から反転しておく */
}
.cs-flip-st1-title { font-size: 1.5rem; font-weight: 800; margin-bottom: 16px; }
.cs-flip-st1-desc { font-size: 0.9rem; line-height: 1.6; opacity: 0.9; }まるで「背景が透けて見える半透明のガラス板」が浮いているような、繊細でトレンド感のあるデザインです。
CSSのbackdrop-filter: blur()を使用することで、背景の要素をぼかし、カード自体にはうっすらとした透過と光の反射(白のボーダー線)を加えています。
背景が透けることで、情報の重なりを美しく表現します。
Backdrop-filterを用いて、直感的な視覚体験を提供。
<div class="cs-glass-st1-container">
<!-- 背景用の抽象的なグラデーション要素(ガラス感を際立たせるため) -->
<div class="cs-glass-bg-accent"></div>
<div class="cs-glass-st1-grid">
<!-- ▼ ガラスカード1 ▼ -->
<div class="cs-glass-st1-item">
<div class="cs-glass-content">
<div class="cs-glass-icon">💎</div>
<div class="cs-glass-title">透明感のあるUI</div>
<p class="cs-glass-text">背景が透けることで、情報の重なりを美しく表現します。</p>
</div>
</div>
<!-- ▼ ガラスカード2 ▼ -->
<div class="cs-glass-st1-item">
<div class="cs-glass-content">
<div class="cs-glass-icon">✨</div>
<div class="cs-glass-title">最新のぼかし技術</div>
<p class="cs-glass-text">Backdrop-filterを用いて、直感的な視覚体験を提供。</p>
</div>
</div>
</div>
</div>/* =========================================
1. コンテナ・背景装飾(ガラス感を出すための仕込み)
========================================= */
.cs-glass-st1-container {
position: relative;
padding: 40px 20px;
background-color: #0f172a; /* あえて暗めの背景にすると効果的 */
border-radius: 20px;
overflow: hidden;
}
/* 背景をぼかすためのアクセント要素 */
.cs-glass-bg-accent {
position: absolute;
width: 300px;
height: 300px;
background: radial-gradient(circle, #2589d0, #667eea);
filter: blur(100px);
opacity: 0.4;
top: -50px;
right: -50px;
z-index: 0;
}
/* =========================================
2. グリッド設定
========================================= */
.cs-glass-st1-grid {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}
/* =========================================
3. ガラスカードのデザイン
========================================= */
.cs-glass-st1-item {
/* ガラスモーフィズムの核:背景ぼかしと半透明 */
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
/* 質感のための微調整 */
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 20px;
padding: 40px;
transition: transform 0.3s ease, background 0.3s ease;
}
.cs-glass-st1-item:hover {
transform: translateY(-5px);
background: rgba(255, 255, 255, 0.15);
}
/* =========================================
4. コンテンツ
========================================= */
.cs-glass-icon { font-size: 2.5rem; margin-bottom: 20px; }
.cs-glass-title {
font-size: 1.25rem;
font-weight: 700;
color: #ffffff;
margin-bottom: 12px;
}
.cs-glass-text {
font-size: 0.9rem;
line-height: 1.6;
color: #e2e8f0;
margin: 0;
}まるで画面からボタンやカードが「浮き出している(または凹んでいる)」かのような、柔らかい影と光の表現が特徴のデザインです。
近年、洗練されたWebアプリのUIやダッシュボードで人気のあるスタイルです。
影の階層をコントロールし、まるで画面から浮き上がっているような質感を表現。
インセット(内側の影)を使うことで、画面に凹んでいるような立体感を演出。
<div class="cs-neumo-container">
<div class="cs-neumo-grid">
<!-- ▼ ニューモーフィズム・カード(浮き出し) ▼ -->
<div class="cs-neumo-item">
<div class="cs-neumo-icon">💡</div>
<div class="cs-neumo-title">Soft Design</div>
<p class="cs-neumo-text">影の階層をコントロールし、まるで画面から浮き上がっているような質感を表現。</p>
</div>
<!-- ▼ ニューモーフィズム・カード(凹み) ▼ -->
<div class="cs-neumo-item cs-neumo-inset">
<div class="cs-neumo-icon">⚙️</div>
<div class="cs-neumo-title">Inset Effect</div>
<p class="cs-neumo-text">インセット(内側の影)を使うことで、画面に凹んでいるような立体感を演出。</p>
</div>
</div>
</div>/* =========================================
1. コンテナ設定(背景色とカードを同じ色にする)
========================================= */
.cs-neumo-container {
background-color: #e0e5ec; /* ニューモーフィズムの基本色 */
padding: 60px 20px;
border-radius: 20px;
}
.cs-neumo-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 40px;
max-width: 800px;
margin: 0 auto;
}
/* =========================================
2. ニューモーフィズムの核(影の設定)
========================================= */
.cs-neumo-item {
background-color: #e0e5ec;
border-radius: 30px;
padding: 40px;
text-align: center;
/* 右下を濃く、左上を明るくするのが鉄則 */
box-shadow: 20px 20px 60px #bebebe,
-20px -20px 60px #ffffff;
transition: all 0.3s ease;
}
/* ━━ 凹み(インセット)バージョン ━━ */
.cs-neumo-inset {
box-shadow: inset 20px 20px 60px #bebebe,
inset -20px -20px 60px #ffffff;
}
/* =========================================
3. コンテンツデザイン
========================================= */
.cs-neumo-icon { font-size: 3rem; margin-bottom: 20px; }
.cs-neumo-title {
font-size: 1.25rem;
font-weight: 700;
color: #4a5568;
margin-bottom: 12px;
}
.cs-neumo-text {
font-size: 0.9rem;
line-height: 1.6;
color: #718096;
margin: 0;
}クリックするとカードがスッと広がり、隠れていた詳細情報が表示されるデザインです。
情報をあえて「畳んでおく」ことで、ページ全体をスッキリさせつつ、興味を持ったユーザーにだけ詳細を見せるというUXとデザイン性を両立させたインタラクティブなUIです。
当社のサービスは、独自のアルゴリズムによる高速処理が特徴です。お客様の業務効率を最大化し、コスト削減を強力にサポートします。
ご契約から最短3営業日でご利用いただけます。丁寧なオンボーディングサポートも完備しておりますので、初めての方もご安心ください。
<div class="cs-exp-grid">
<div class="cs-exp-item">
<input type="checkbox" id="exp-1" class="cs-exp-trigger">
<label for="exp-1" class="cs-exp-head">
<span class="cs-exp-title">サービスの強みとは?</span>
<span class="cs-exp-icon">+</span>
</label>
<div class="cs-exp-body">
<div class="cs-exp-content">
<p>当社のサービスは、独自のアルゴリズムによる高速処理が特徴です。お客様の業務効率を最大化し、コスト削減を強力にサポートします。</p>
</div>
</div>
</div>
<div class="cs-exp-item">
<input type="checkbox" id="exp-2" class="cs-exp-trigger">
<label for="exp-2" class="cs-exp-head">
<span class="cs-exp-title">導入までの期間は?</span>
<span class="cs-exp-icon">+</span>
</label>
<div class="cs-exp-body">
<div class="cs-exp-content">
<p>ご契約から最短3営業日でご利用いただけます。丁寧なオンボーディングサポートも完備しておりますので、初めての方もご安心ください。</p>
</div>
</div>
</div>
</div>/* =========================================
1. グリッド設定
========================================= */
.cs-exp-grid {
display: flex;
flex-direction: column;
gap: 16px;
width: 100%;
margin-bottom: 2em;
}
/* =========================================
2. カード本体・チェックボックス制御
========================================= */
.cs-exp-item {
background-color: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
overflow: hidden;
}
/* チェックボックスを隠す */
.cs-exp-trigger {
display: none;
}
/* ━━ ヘッド部分(クリックエリア) ━━ */
.cs-exp-head {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 24px;
cursor: pointer;
background-color: #f8fafc;
transition: background 0.3s;
}
.cs-exp-head:hover { background-color: #f1f5f9; }
.cs-exp-title { font-weight: 700; color: #1a202c; }
.cs-exp-icon { font-size: 1.2rem; color: #64748b; transition: transform 0.3s; }
/* ━━ ボディ部分(可変エリア) ━━ */
.cs-exp-body {
max-height: 0; /* 最初は隠す */
transition: max-height 0.4s ease-out;
background-color: #ffffff;
}
.cs-exp-content {
padding: 20px 24px 20px;
color: #4a5568;
line-height: 1.7;
font-size: 0.9rem;
}
/* ━━ 開閉のロジック ━━ */
.cs-exp-trigger:checked ~ .cs-exp-body {
max-height: 200px; /* 十分な高さを指定 */
}
.cs-exp-trigger:checked ~ .cs-exp-head .cs-exp-icon {
transform: rotate(45deg); /* プラスボタンを回転 */
}ここでは全体のまとめを記載しておきます。
CSSのdisplay: gridとrepeat(auto-fit, minmax(280px, 1fr))を組み合わせるのが最適です。
メディアクエリを細かく書かなくても、画面幅に応じてカードが自動的に折り返され、空いたスペースを1fr(比率)で均等に埋めてくれるため、メンテナンスが楽になります。
display: flexやdisplay: gridを使用している親要素の中でカードを並べれば、デフォルトで高さが揃います(align-items: stretchが適用されるため)。
もし内部のテキスト量に差があっても、カード全体が一番高い要素に合わせられます。
各カードの中にコンテンツ(タイトル・本文・ボタンなど)を配置し、ボタンをmargin-top: autoで一番下に固定するのがコツです。
object-fit: cover;を使用してください。
画像にwidth: 100%; height: 200px;(任意の高さ)などの固定サイズを指定し、object-fit: cover;を適用することで、画像の比率を維持したまま、はみ出た部分を自動的にトリミングして枠に収めることができます。
transitionプロパティとtransform: translateY()を使用します。
基本のカードにtransition: 0.3s ease;を指定しておき、:hover擬似クラスでtransform: translateY(-10px);(上に10px移動)とbox-shadowを大きく設定することで、マウスを乗せた瞬間に軽やかに浮き上がるアニメーションが実装できます。
「BEM(Block Element Modifier)」や、SWELLのようなWordPress環境であれば独自の接頭辞(例:cs-card-...)を用いたクラス設計が有効です。
また、カードの構造(画像・見出し・本文)をテンプレート化し、CSS変数を活用して色やフォントサイズを管理すると、デザインの変更を一括で行えるようになり、コードの重複を防げます。
面倒な基本構造やレスポンシブ対応はテーマに任せ、浮いた時間で「あなたにしかできないこだわりの独自カスタマイズ」をとことん追求してみませんか?
「SWELL」の徹底レビュー・詳細を見る