カード構造

コンポーネント

カード構造

Card Anatomy

カード構造とは、関連する情報をメディア・見出し・本文・アクションとして一つの面にまとめ、一つの完結した単位として見せる仕組みです。

カードタイトルメディア・ヘッダー・本文・アクションが1つの面にまとまります。
padding18px
gap12px
radius14px
elevation2

定義

カード(card)は、互いに関連する情報をひとつの面の上にまとめて盛りつける入れ物です。 たいていは上部に画像やメディアが来て、その下に見出しを載せたヘッダー、説明を載せた本文、 そしてボタンやリンクといったアクションが順番に並びます。こうしたいくつものパーツを ひとつの表面でまとめ上げるのがカードの役割なので、ユーザーはカード1枚をそのまま ひとつの完結した単位として受け取ります。このとき内側のパディング、パーツ同士のgap、 角の丸み、そして影のかけ方によって、同じ中身でもあっさりしたカードにも、 華やかなカードにもなります。

なぜ重要か

カードが大切なのは、バラバラに散らばった情報を、ユーザーがひとかたまりとして 認識できるようにしてくれるからです。見出しと画像とボタンがそれぞれ別々に置かれていると、 ユーザーはこれらがひとまとまりなのかを自分で推測しなければなりませんが、ひとつのカードの 中に収まっていれば、特に説明がなくても関連する情報だとすぐに理解できます。とりわけ カードは、リストやグリッドの中で何十個も繰り返し並ぶことがよくあります。このとき カードごとにパディングやgap、丸みが少しずつ違っていると、並べたときに微妙にずれて見えて、 全体が雑然としてしまいます。逆にすべてのカードが同じルールで作られていれば、何十個 並んでも画面は落ち着いた、整ったリズムを保ちます。だからカードは、値をそろえることが 特に重要な要素なのです。

よくある間違い

  • カードごとに内側のパディングをバラバラに与えてしまうことです。あるカードはゆったり、 あるカードは窮屈だと、リストで複数のカードが横に並んだとき、高さや余白がデコボコに見えて、 全体がちぐはぐになってしまいます。
  • ひとつのカードの中に情報やアクションを詰め込みすぎることです。カードはひとつの単位で あるべきなのに、ボタンがいくつも入り、中身が長くなると、ユーザーはこのカードが何に ついてのもので、何をすればいいのかを一目でつかみにくくなります。
  • カード全体を濃い枠線と濃い影で二重に囲んでしまうことです。境界を作る手段を重ねて使うと カードが重たく見え、リストにいくつも並んだとき、画面が窮屈な箱でびっしり埋まって見えます。 どちらか一方だけをほんのり効かせるほうがきれいです。

実務のヒント

  • カードの内側のパディングと要素同士のgapを、決めておいた間隔スケールに合わせて固定しましょう。 値をそろえておけば、カードが何枚並んでもお互いにずれず、すっきりと整列します。この ルールは、再利用できるコンポーネントとして作っておくとさらに効果的です。
  • カードの性格は、丸みと影で調整しましょう。角ばって影のないカードはあっさりと真面目に、 丸くて薄い影のあるカードはやわらかく浮いている感じになります。プロダクト全体で、この 組み合わせをひとつにそろえておくのがおすすめです。
  • カードの中の情報は、上からメディア、見出し、本文、アクションの順に階層を守って配置し、 ユーザーの視線が自然に上から下へ流れるようにしましょう。この順番をすべてのカードで 同じように守れば、ユーザーは毎回どこを見ればいいかを覚え直す必要がなくなります。

AIに頼む

カードごとにパディングや角丸がバラバラで、リストが雑然としているとき

下に貼り付けるカードコンポーネント/CSSから、カードごとのpadding・gap・border-radius・box-shadowの値を全部抜き出して比較して。バラバラな値を8px刻みのスケール一つに統一して、内側のパディングは16pxか24px、要素間のgapは8pxのように、スケール上の段階に合わせて、border-radiusと影も全カードが同じ一組だけを使うように整えて。統一した値は--card-pad・--card-gap・--card-radiusのようなトークンに切り出して、カード一つを再利用コンポーネントとしてまとめ、リストに数十個が並んでもズレないようにして。元の値→統一後の値の対応表も一緒に出して。

カード一つを一から設計するとき(構造・階層)

[カードに載せる内容 — 例: 商品サムネイル・名前・価格・カート追加ボタン]を載せるカード一つを設計して。上からメディア → ヘッダー(タイトル)→ 本文(説明)→ アクションの順で階層を守り、視線が自然に上から下へ流れるように配置して、カードは一つの単位だから主要なアクションはボタン1個に絞って。内側のパディングと要素間のgapは8px刻みのスケール(パディング16〜24px、gap 8px)に合わせて固定し、この構造をそのまま再利用できるコンポーネントの形でマークアップとCSSを作って。

カードが重く窮屈な箱のように見えるとき(境界線・影)

下に貼り付けるカードが、濃い枠線と濃い影で二重に囲まれていて重く見える。borderとbox-shadowのどちらか一方だけ残して残りは外し、境界の手段を一つだけ控えめに使うように直して。そして、このカードが[狙いたい印象 — 例: 落ち着いてすっきり / やわらかく浮いたような]になるように、角ばって影がなければすっきり落ち着いた印象に、角丸で薄い影があればやわらかく浮いた印象になる原理で、border-radiusと影の強さを調整して。変えた値と、そうした理由も短く添えて。

関連概念