リンクデザインは「読みやすさ × 分かりやすさ × 美しさ」を同時に満たす設計
リンクは UI の中で最も重要な要素のひとつ。
どれがリンクか一瞬で分かること、
読みやすく邪魔にならないこと、
デザインとして美しいこと
この3つを満たすのが“良いリンクデザイン”です。
ここでは、CSS と Tailwind CSS の両方で、
初心者でも迷わないように例題を交えて丁寧に解説します。
リンクデザインの基本原則(ここが最重要)
1. 「リンクである」と一瞬で分かること
色・下線・ホバー効果のどれか(または複数)でリンク性を示す。
2. ホバー時に“反応”があること
色が変わる、下線が出る、太さが変わるなど。
3. 下線は「読みやすさ」を損なわないように調整
太さ・色・オフセット(underline-offset)を調整すると美しくなる。
4. 状態(hover / active / visited)をデザインする
特に hover は UI の生命線。
例1:最も基本的な「下線付きリンク」
CSS 版
a {
color: #2563eb;
text-decoration: underline;
text-underline-offset: 3px;
}
CSSTailwind 版
<a class="text-blue-600 underline underline-offset-4">
基本のリンク
</a>
HTML深掘りポイント
underline-offset を使うと、
下線が文字に近すぎて読みにくい問題が解決します。
例2:普段は下線なし、ホバーで下線(UI の定番)
CSS 版
a {
color: #2563eb;
text-decoration: none;
}
a:hover {
text-decoration: underline;
text-underline-offset: 4px;
}
CSSTailwind 版
<a class="text-blue-600 no-underline hover:underline hover:underline-offset-4">
ホバーで下線
</a>
HTML深掘りポイント
普段はスッキリ、ホバーでリンク性を示す。
最も使われるリンクデザインです。
例3:下線の色と太さをデザインする(美しいリンク)
CSS 版
a {
color: #1e40af;
text-decoration-line: underline;
text-decoration-color: #60a5fa;
text-decoration-thickness: 3px;
text-underline-offset: 4px;
}
CSSTailwind 版
<a class="text-blue-900 underline decoration-blue-300 decoration-2 underline-offset-4">
デザインされたリンク
</a>
HTML深掘りポイント
線の色を文字色より薄くすると、
「強調しすぎない上品なリンク」になります。
例4:アニメーションする下線(モダン UI)
CSS 版
.link {
position: relative;
text-decoration: none;
}
.link::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 0%;
height: 2px;
background: #2563eb;
transition: width 0.3s;
}
.link:hover::after {
width: 100%;
}
CSSTailwind 版(擬似要素を使う)
<a class="relative no-underline
after:content-[''] after:absolute after:left-0 after:-bottom-1
after:w-0 after:h-[2px] after:bg-blue-600 after:transition-all
hover:after:w-full">
アニメーションリンク
</a>
HTML深掘りポイント
text-decoration ではなく擬似要素で線を作ることで、
アニメーションや位置調整が自由になります。
例5:ボタン風リンク(CTA に最適)
CSS 版
.cta {
display: inline-block;
padding: 0.75em 1.5em;
background: #2563eb;
color: white;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
}
CSSTailwind 版
<a class="inline-block px-6 py-3 bg-blue-600 text-white rounded-lg font-semibold no-underline">
CTAリンク
</a>
HTML深掘りポイント
リンクをボタン化することで、
「押してほしいアクション」を強調できます。
例6:カード全体をリンクにする(クリック領域を広げる)
CSS 版
.card-link {
display: block;
padding: 1rem;
border-radius: 12px;
text-decoration: none;
color: inherit;
}
.card-link:hover {
background: #f3f4f6;
}
CSSTailwind 版
<a class="block p-4 rounded-xl no-underline text-inherit hover:bg-gray-100">
<h3 class="font-semibold">カードタイトル</h3>
<p class="text-gray-600">説明文が入ります。</p>
</a>
HTML深掘りポイント
カード全体をリンクにすると、
スマホでも押しやすく、UX が大幅に向上します。
例7:visited(既読リンク)をデザインする
CSS 版
a:visited {
color: #6b7280;
}
CSSTailwind 版
Tailwind は visited にも対応しています。
<a class="text-blue-600 visited:text-gray-500">
訪問済みリンク
</a>
HTML深掘りポイント
visited をデザインすると、
ユーザーが「どこを見たか」を把握しやすくなります。
リンクデザインの設計ポイント(ここが一番大事)
1. リンクは“リンクらしく”
色・下線・ホバーのどれかで必ずリンク性を示す。
2. 下線は offset と thickness で美しく
デフォルトの下線は読みにくいので調整が必須。
3. ホバーは UI の生命線
色・線・太さ・背景など、必ず反応をつける。
4. 状態(hover / active / visited)をデザインする
特に visited は UX に大きく影響。
5. 擬似要素でアニメーションするとモダンな印象
text-decoration ではできない表現が可能。
実務テンプレート:リンクデザインのベストセット
Tailwind 版(最も汎用的)
<a class="text-blue-600 no-underline underline-offset-4
hover:underline hover:decoration-blue-600 hover:decoration-2
visited:text-purple-600">
汎用リンク
</a>
HTMLCSS 版(プロジェクト共通スタイル)
a {
color: #2563eb;
text-decoration: none;
text-underline-offset: 4px;
}
a:hover {
text-decoration-line: underline;
text-decoration-thickness: 2px;
text-decoration-color: #2563eb;
}
a:visited {
color: #7c3aed;
}
CSSまとめ
リンクデザインは
「分かりやすさ × 読みやすさ × 美しさ」 を同時に満たす UI の基礎技術です。
ポイントは次の通りです。
- 下線は offset と thickness で美しく
- ホバーは必ず反応させる
- visited をデザインすると UX が向上
- 擬似要素でアニメーションも可能
- Tailwind は decoration-* と underline-offset-* で細かく制御できる


