SnippetUI

フィーチャーカードセクション

SaaS・ランディングページ向けの機能紹介カードセクション。ホバー時にグラデーションボーダーがやわらかく発光するカードUIコンポーネントです。

HTMLCSS

プレビュー

6つの機能カードがグリッド状に並び、ホバー時にグラデーションボーダーが発光します。

Features

すべてがここに

高速処理

ミリ秒単位のレスポンス。

🛡️

セキュリティ

ゼロトラストアーキテクチャ。

📊

アナリティクス

リアルタイムのインサイト。

🤝

コラボ

チームでシームレスに一緒に。

🌍

グローバル

世界148か国で利用可能。

🔧

カスタマイズ

あなたのブランドに合わせたカスタム性。

ユースケースと特徴

  • SaaS・ランディングページ: 製品の魅力を整然と伝える機能紹介セクション。

  • JavaScript不要: ホバーエフェクト含めピュアCSS実装。

  • CSS変数でカード別色分け: --card-color 変数で各カードのボーダー色を一元管理。

  • mask-compositeのボーダーエフェクト: グラデーションボーダーがホバー時にくっきり現れる。

デザインとUXのポイント

  1. アイコンで視覚的コミュニケーション: アイコンが各カードの内容を瞬時に伝える。

  2. translateY(-4px) のリフトアップ: 深くすぎず軽く浮く絶妙なボリューム感。

  3. opacity: 0 → 1 のボーダー: ホバーではじめて現れるボーダーがサプライズ体験を演出。

カスタマイズ方法

カード数を変える: feat-grid 内の .feat-card 要素を追加/削除するだけ。

ボーダー色を変える:


.feat-c1 { --card-color: #f97316; } /* オレンジ */

グリッド列数を固定する:


.feat-grid { grid-template-columns: repeat(3, 1fr); }

実装コード

<section class="feat-section">

<div class="feat-header">

  <div class="feat-eyebrow">Features</div>

  <h2 class="feat-title">すべてがここに</h2>

</div>

<div class="feat-grid">

  <div class="feat-card feat-c1">

    <span class="feat-icon">⚡</span>

    <h3 class="feat-card-title">高速処理</h3>

    <p class="feat-card-desc">ミリ秒単位のレスポンス。</p>

  </div>

  <div class="feat-card feat-c2">

    <span class="feat-icon">🛡️</span>

    <h3 class="feat-card-title">セキュリティ</h3>

    <p class="feat-card-desc">ゼロトラストアーキテクチャ。</p>

  </div>

  <div class="feat-card feat-c3">

    <span class="feat-icon">📊</span>

    <h3 class="feat-card-title">アナリティクス</h3>

    <p class="feat-card-desc">リアルタイムのインサイト。</p>

  </div>

  <div class="feat-card feat-c4">

    <span class="feat-icon">🤝</span>

    <h3 class="feat-card-title">コラボ</h3>

    <p class="feat-card-desc">チームでシームレスに一緒に。</p>

  </div>

  <div class="feat-card feat-c5">

    <span class="feat-icon">🌍</span>

    <h3 class="feat-card-title">グローバル</h3>

    <p class="feat-card-desc">世界148か国で利用可能。</p>

  </div>

  <div class="feat-card feat-c6">

    <span class="feat-icon">🔧</span>

    <h3 class="feat-card-title">カスタマイズ</h3>

    <p class="feat-card-desc">あなたのブランドに合わせたカスタム性。</p>

  </div>

</div>

</section>



<style>
.feat-section {

padding: 4rem 1rem;

font-family: system-ui, -apple-system, sans-serif;

color: white;

background: #0f172a;

box-sizing: border-box;

width: 100%;

}

.feat-section * { box-sizing: border-box; }

.feat-header {

text-align: center;

margin-bottom: 3rem;

}

.feat-eyebrow {

color: #6366f1;

font-weight: 600;

letter-spacing: 0.1em;

text-transform: uppercase;

margin-bottom: 0.5rem;

}

.feat-title {

font-size: 2.5rem;

font-weight: 800;

margin: 0;

}

.feat-grid {

display: grid;

grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));

gap: 1.5rem;

max-width: 1000px;

margin: 0 auto;

}

.feat-card {

position: relative;

background: rgba(255, 255, 255, 0.03);

border-radius: 1rem;

padding: 2rem;

text-align: center;

transition: transform 0.3s ease;

z-index: 1;

}

.feat-card::before {

content: '';

position: absolute;

inset: 0;

border-radius: inherit;

padding: 2px;

background: linear-gradient(135deg, var(--card-color, #6366f1), transparent);

-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);

-webkit-mask-composite: xor;

mask-composite: exclude;

opacity: 0;

transition: opacity 0.3s ease;

z-index: -1;

}

.feat-card:hover {

transform: translateY(-4px);

}

.feat-card:hover::before {

opacity: 1;

}

.feat-icon {

font-size: 2.5rem;

display: block;

margin-bottom: 1rem;

}

.feat-card-title {

font-size: 1.25rem;

font-weight: 600;

margin: 0 0 0.5rem;

}

.feat-card-desc {

color: #9ca3af;

margin: 0;

line-height: 1.5;

}



.feat-c1 { --card-color: #f97316; }

.feat-c2 { --card-color: #3b82f6; }

.feat-c3 { --card-color: #10b981; }

.feat-c4 { --card-color: #8b5cf6; }

.feat-c5 { --card-color: #ec4899; }

.feat-c6 { --card-color: #06b6d4; }
</style>

ブラウザ対応状況

| ブラウザ | 対応状況 |

|--------|--------|

| Chrome 80+ | ✅ 完全対応 |

| Firefox 99+ | ✅ 完全対応 |

| Safari 15.4+ | ✅ 対応 |

| Edge 80+ | ✅ 完全対応 |