mcpField
F
frontend-css-patterns

frontend-css-patterns

github.com/majesticlabs-devデザイン・UI50182 回インストール7 週間前に更新
リポジトリ

frontend-css-patterns について

frontend-css-patternsは、独自性のあるビジュアルを実装するフロントエンド開発者向けのスキルです。デザイントークン、タイポグラフィ、配色、モーション、空間構成を扱い、DESIGN.mdがある場合はその値をCSSの基準にします。

主な機能

  1. 01DESIGN.mdからトークンを反映
  2. 02文字階層とフォントの組み合わせ
  3. 03高コントラストな配色設計
  4. 04モーションと状態遷移の設計
  5. 05非対称な空間構成

活用シーン

  1. 01プロジェクトのトークンに沿ったCSS作成
  2. 02ページのフォントと文字サイズの選定
  3. 03ページ読み込みやスクロール演出の計画
  4. 04視覚的な階層を作るレイアウト調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill frontend-css-patterns

インストール後、Claude Code で/frontend-css-patternsを入力して読み込まれたか確認します。

詳細

フロントエンド CSS パターン

独自性のあるビジュアルデザインを実現するための実装パターンです。

デザイントークンの統合

プロジェクトに DESIGN.md ファイルがある場合は、そのトークンを信頼できる唯一の情報源として使用します。

/* Map DESIGN.md tokens to CSS custom properties */
:root {
  --color-primary: /* from {colors.primary} */;
  --color-accent: /* from {colors.accent} */;
  --font-display: /* from {typography.display.fontFamily} */;
  --spacing-md: /* from {spacing.md} */;
}

トークンが定義されている場合、色、フォント、間隔の値を独自に作成しないでください。CSS を生成する前に、YAML フロントマターから {token.ref} の参照を解決します。

タイポグラフィ

/* AVOID: Generic defaults */
font-family: Inter, system-ui, sans-serif;

/* PREFER: Distinctive pairings */
--font-display: 'Clash Display', 'Space Grotesk', sans-serif;
--font-body: 'Satoshi', 'General Sans', sans-serif;

/* Specific moods */
--font-luxury: 'Cormorant Garamond', serif;
--font-brutalist: 'JetBrains Mono', monospace;
--font-playful: 'Fredoka', 'Quicksand', sans-serif;

タイポグラフィのスケール:

:root {
  --text-hero: clamp(3rem, 10vw, 8rem);
  --text-display: clamp(2rem, 5vw, 4rem);
  --text-heading: clamp(1.5rem, 3vw, 2.5rem);
  --text-body: clamp(1rem, 1.5vw, 1.125rem);
}

色とテーマ

:root {
  /* Dominant + sharp accent */
  --color-bg: #0a0a0a;
  --color-fg: #fafafa;
  --color-accent: #ff3366;
  --color-accent-muted: #ff336633;
}

高コントラスト、限定的なパレット(3〜4 色)、際立つアクセントカラーを重視します。

モーション

細かなマイクロインタラクションを散りばめるより、インパクトの大きな瞬間に重点を置きます。

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.reveal {
  animation: fadeInUp 0.6s ease-out forwards;
}

.reveal:nth-child(1) { animation-delay: 0.1s; }
.reveal:nth-child(2) { animation-delay: 0.2s; }

ページ読み込み時のシーケンス、スクロールをトリガーとする表示、状態遷移に注目します。

空間構成

グリッドを崩します。

  • 非対称性:要素を意図的にずらします
  • 重なり:要素を重ねて奥行きを出します
  • 斜めの流れ:視線を動的に誘導します
  • 余白:コンテンツにゆとりを持たせます
.hero-image {
  position: relative;
  top: -5vh;      /* Overlap the header */
  right: -2rem;   /* Extend past container */
}

ビジュアルの詳細

/* Gradient overlay */
.card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.05));
  pointer-events: none;
}

/* Glow effects */
.accent-element {
  box-shadow: 0 0 20px var(--color-accent-muted), 0 0 40px var(--color-accent-muted);
}

Tailwind のカスタマイズ

DESIGN.md がある場合は、トークンを直接エクスポートします。

npx design-md export --format tailwind

ない場合は、デフォルトを使わずにテーマを手動でカスタマイズします。

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      fontFamily: { display: ['Clash Display', 'sans-serif'] },
      colors: { brand: { DEFAULT: '#ff3366', muted: 'rgba(255, 51, 102, 0.2)' } },
    },
  },
}

コメント