「見出しの下に線を引きたい」
「リストの下にだけ区切り線を入れたい」
こんなときに使えるのが、CSSの下だけにボーダーを付ける方法です。
一部分にだけ線を引くことで、デザインがスッキリし、強調したい場所を自然に目立たせることができます。
この記事では、CSSで下だけにボーダーを設定する基本の書き方から、よくある応用例までわかりやすく紹介します。
CSSボーダーの基本概念

ボーダーとは?
ボーダーの役割
ボーダー(Border) HTML要素の周りに表示される線のことです。まるで「枠」や「囲み線」のようなもので、要素を装飾したり、他の要素と区別したりするために使います。
身近な例で理解する
新聞や雑誌での線の役割
- 見出しの下の線:記事の始まりを示す
- 囲み記事の枠線:重要な情報を強調
- 区切り線:セクションの境界を明確にする
Webデザインでも同じ
- 見出しの下線:コンテンツの区切り
- ナビゲーションの下線:現在のページを示す
- カードの境界線:情報のまとまりを表現
ボーダーの構成要素
3つの基本要素
1. 太さ(Width)
border-width: 1px; /* 細い線 */
border-width: 3px; /* 普通の線 */
border-width: 5px; /* 太い線 */
2. スタイル(Style)
border-style: solid; /* 実線 */
border-style: dotted; /* 点線 */
border-style: dashed; /* 破線 */
3. 色(Color)
border-color: #333; /* 濃いグレー */
border-color: #007acc; /* 青色 */
border-color: red; /* 赤色 */
なぜ3つの要素が必要なの?
見た目の多様性
- 同じ線でも太さや色で印象が変わる
- 用途に応じて最適なスタイルを選択
- ブランドカラーやデザインテーマに合わせられる
下だけにボーダーを引く基本方法
border-bottomプロパティ
基本的な書き方
一括指定の方法
h2 {
border-bottom: 2px solid #333;
}
この1行で以下の3つを同時に指定:
- 太さ:2px
- スタイル:solid(実線)
- 色:#333(濃いグレー)
個別指定の方法
詳細にコントロールしたい場合
h2 {
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: #333;
}
メリット
- 後から一部だけ変更しやすい
- 複雑な条件での上書きに便利
- デバッグ時に問題を特定しやすい
方向別ボーダーの使い分け
4方向のボーダープロパティ
それぞれの方向
.element {
border-top: 1px solid #ccc; /* 上 */
border-right: 1px solid #ccc; /* 右 */
border-bottom: 1px solid #ccc; /* 下 */
border-left: 1px solid #ccc; /* 左 */
}
使い分けの指針
用途別の選択
/* 見出しの装飾 */
h2 { border-bottom: 2px solid #007acc; }
/* サイドバーの区切り */
.sidebar { border-right: 1px solid #ddd; }
/* ヘッダーの下線 */
header { border-bottom: 3px solid #333; }
/* 引用の左線 */
blockquote { border-left: 4px solid #e74c3c; }
実際の表示例
基本的なパターン
シンプルな見出し
h2 {
border-bottom: 2px solid #333;
font-size: 24px;
margin-bottom: 20px;
}
結果 見出しの下に濃いグレーの2px線が表示され、すっきりとした区切りになります。
よく使うデザインパターン

見出しの装飾
シンプルな下線
基本スタイル
h2 {
font-size: 24px;
color: #333;
border-bottom: 3px solid #007acc;
padding-bottom: 8px;
margin-bottom: 20px;
}
ポイント
padding-bottom
:文字と線の間に余白margin-bottom
:次のコンテンツとの間隔- 太めの線(3px)で存在感をアップ
グラデーション風の装飾
色の濃淡を活用
h2 {
position: relative;
padding-bottom: 10px;
margin-bottom: 20px;
}
h2::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(to right, #007acc, #00a8ff);
}
部分的な下線
短い線での洗練された表現
h2 {
position: relative;
padding-bottom: 15px;
margin-bottom: 25px;
}
h2::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 50px;
height: 2px;
background-color: #e74c3c;
}
リスト要素の区切り
基本的なリスト区切り
シンプルな境界線
li {
border-bottom: 1px solid #ddd;
padding: 12px 0;
}
li:last-child {
border-bottom: none; /* 最後の要素は線なし */
}
点線での優しい区切り
柔らかい印象のデザイン
li {
border-bottom: 1px dotted #999;
padding: 10px 0;
list-style: none;
}
li:last-child {
border-bottom: none;
}
ホバー効果付きリスト
マウスオーバーで線が現れる
li {
padding: 15px 0;
border-bottom: 2px solid transparent;
transition: border-color 0.3s ease;
}
li:hover {
border-bottom-color: #007acc;
}
ナビゲーションメニューの装飾
アクティブ状態の表示
現在のページを示す下線
.nav-item {
display: inline-block;
padding: 15px 20px;
text-decoration: none;
color: #333;
border-bottom: 3px solid transparent;
transition: border-color 0.3s ease;
}
.nav-item.active {
border-bottom-color: #007acc;
}
.nav-item:hover {
border-bottom-color: #00a8ff;
}
タブ風ナビゲーション
タブのような見た目
.tab {
display: inline-block;
padding: 12px 24px;
background: #f8f9fa;
border: 1px solid #ddd;
border-bottom: none;
border-radius: 8px 8px 0 0;
}
.tab.active {
background: white;
border-bottom: 3px solid white;
margin-bottom: -1px;
}
高度なスタイリングテクニック
線のスタイルバリエーション
実線のバリエーション
太さによる印象の違い
.thin-border { border-bottom: 1px solid #333; } /* 繊細 */
.medium-border { border-bottom: 2px solid #333; } /* 標準 */
.thick-border { border-bottom: 4px solid #333; } /* 力強い */
.extra-thick { border-bottom: 8px solid #333; } /* インパクト大 */
点線・破線のバリエーション
スタイル別の使い分け
.dotted-light { border-bottom: 1px dotted #ccc; } /* 軽やか */
.dotted-bold { border-bottom: 3px dotted #666; } /* しっかり */
.dashed-subtle { border-bottom: 1px dashed #999; } /* 控えめ */
.dashed-prominent { border-bottom: 2px dashed #333; } /* 目立つ */
二重線の表現
格式高い印象
.double-border {
border-bottom: 3px double #333;
}
/* または2本の線で表現 */
.custom-double {
position: relative;
border-bottom: 1px solid #333;
padding-bottom: 8px;
}
.custom-double::after {
content: '';
position: absolute;
bottom: 3px;
left: 0;
width: 100%;
height: 1px;
background: #333;
}
色とグラデーションの活用
単色での表現
ブランドカラーの活用
.brand-primary { border-bottom: 3px solid #007acc; } /* 企業カラー */
.success-green { border-bottom: 2px solid #28a745; } /* 成功 */
.warning-orange { border-bottom: 2px solid #ffc107; } /* 注意 */
.danger-red { border-bottom: 2px solid #dc3545; } /* 危険 */
グラデーションボーダー
::after疑似要素を使った表現
.gradient-border {
position: relative;
padding-bottom: 10px;
}
.gradient-border::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
}
透明度を活用した効果
フェード効果
.fade-border {
position: relative;
padding-bottom: 12px;
}
.fade-border::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(to right,
transparent,
#007acc,
transparent
);
}
アニメーション効果
線が伸びるアニメーション
左から右へ伸びる効果
.animated-border {
position: relative;
padding-bottom: 10px;
}
.animated-border::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: #007acc;
transition: width 0.3s ease;
}
.animated-border:hover::after {
width: 100%;
}
色が変化するアニメーション
ホバー時の色変化
.color-change-border {
border-bottom: 2px solid #ddd;
transition: border-color 0.3s ease;
}
.color-change-border:hover {
border-bottom-color: #007acc;
}
実用的な応用例

ブログ記事のデザイン
記事タイトルの装飾
読みやすい見出し設計
.article-title {
font-size: 28px;
font-weight: bold;
color: #333;
border-bottom: 4px solid #007acc;
padding-bottom: 12px;
margin-bottom: 30px;
}
カテゴリー分けの表現
セクション区切り
.section-divider {
border-bottom: 1px solid #e1e5e9;
margin: 40px 0;
padding-bottom: 20px;
}
.section-divider h3 {
color: #495057;
font-weight: 600;
margin-bottom: 15px;
}
Eコマースサイトでの活用
商品情報の区切り
商品詳細ページ
.product-detail-section {
border-bottom: 1px solid #dee2e6;
padding: 20px 0;
margin-bottom: 20px;
}
.product-detail-section:last-child {
border-bottom: none;
margin-bottom: 0;
}
価格表示の強調
価格エリアの装飾
.price-section {
border-bottom: 2px solid #28a745;
padding-bottom: 15px;
margin-bottom: 20px;
}
.price {
font-size: 24px;
font-weight: bold;
color: #28a745;
}
企業サイトでの活用
サービス一覧の整理
サービスカードの境界
.service-card {
padding: 30px;
border-bottom: 3px solid transparent;
transition: border-color 0.3s ease;
}
.service-card:hover {
border-bottom-color: #007acc;
}
チームメンバー紹介
プロフィールの区切り
.team-member {
text-align: center;
padding: 25px;
border-bottom: 2px dotted #dee2e6;
margin-bottom: 25px;
}
.team-member:last-child {
border-bottom: none;
}
レスポンシブデザインでの考慮事項
モバイル対応
小さい画面での調整
スマートフォン用の最適化
@media (max-width: 768px) {
h2 {
border-bottom: 2px solid #007acc; /* 少し細めに */
padding-bottom: 5px; /* 余白を小さく */
font-size: 20px; /* フォントサイズも調整 */
}
}
タッチデバイスでの配慮
タップしやすいエリア
.nav-item {
border-bottom: 2px solid transparent;
min-height: 44px; /* タップしやすい高さ */
display: flex;
align-items: center;
}
@media (max-width: 480px) {
.nav-item {
min-height: 48px; /* より大きなタッチエリア */
}
}
高解像度ディスプレイ対応
Retinaディスプレイでの線の太さ
高密度ディスプレイでの配慮
.thin-border {
border-bottom: 1px solid #ddd;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
.thin-border {
border-bottom-width: 0.5px; /* より細い線 */
}
}
トラブルシューティング
よくある問題と解決法
線が表示されない場合
チェックポイント1:スタイルの指定
/* 悪い例:スタイルが不完全 */
h2 {
border-bottom: 2px #333; /* styleが抜けている */
}
/* 良い例:完全な指定 */
h2 {
border-bottom: 2px solid #333;
}
チェックポイント2:色の指定
/* 透明になっている可能性 */
h2 {
border-bottom: 2px solid transparent; /* 透明 */
}
/* 背景と同じ色になっている可能性 */
h2 {
background: white;
border-bottom: 2px solid white; /* 見えない */
}
線がずれて表示される場合
ボックスモデルの理解
/* 問題:予期しない余白 */
h2 {
border-bottom: 2px solid #333;
margin: 20px; /* 周囲の余白 */
padding: 10px; /* 内側の余白 */
}
/* 解決:box-sizingの活用 */
h2 {
box-sizing: border-box;
border-bottom: 2px solid #333;
padding-bottom: 8px;
}
複数のボーダーが重なる場合
優先度の問題
/* 問題:後から指定したものが優先される */
h2 {
border: 1px solid #999; /* 全体のボーダー */
border-bottom: 3px solid #333; /* 下だけ上書き */
}
/* より明確な指定 */
h2 {
border: none; /* 一度リセット */
border-bottom: 3px solid #333;
}
まとめ
CSSで下だけにボーダーを引く方法は、Webデザインの基本的で重要なテクニックです。
基本的な使用方法
border-bottom
プロパティで簡単に設定- 太さ、スタイル、色の3要素を組み合わせ
- paddingとの組み合わせで美しい仕上がり
効果的な活用場面
- 見出しの装飾と強調
- リスト項目の区切り
- ナビゲーションの状態表示
- コンテンツセクションの境界
デザインのバリエーション
- 実線、点線、破線の使い分け
- 色とグラデーションの活用
- アニメーション効果の追加
- レスポンシブデザインへの対応
実用的なポイント
- 用途に応じた適切な太さの選択
- ブランドカラーとの統一
- ユーザビリティの考慮
- モバイルフレンドリーな設計
トラブル回避のコツ
- 完全なプロパティ指定
- ボックスモデルの理解
- 優先度の適切な管理
コメント