バッジ
CoddyのHTMLジャーニー「Practical Frontend」セクションの一部 — レッスン 22/35。
バッジは、別の要素の隣にカウントやステータスを表示するために使用される小さなインジケーターです。例:未読メッセージ数を示す数字付きの赤い円。これらは多くの場合、ボタン、アイコン、またはプロフィール画像に付けられます。
重要である理由:
- 重要な情報(通知など)を素早く視認できるようにします。
- アプリ、ソーシャルメディア、Eコマースサイトで一般的に使用されています。
シンプルなバッジを作成しましょう:
まず、バッジを表示するための基本的なHTML要素を作成します:
<button class="btn">
Messages <span class="badge">5</span>
</button>次に、バッジのスタイルを整えるための基本的なCSSを追加します:
.btn {
position: relative;
padding: 10px 20px;
font-size: 16px;
}
.badge {
position: absolute;
top: -5px;
right: -10px;
background: red;
color: white;
border-radius: 50%;
padding: 4px 8px;
font-size: 12px;
}これにより、バッジがボタンの角に配置され、メッセージの数が表示されます。
チャレンジ
簡単いくつかのボタンが含まれるHTMLが与えられています。あなたのタスクは、CSSのみを使用して、各ボタンの右上に表示されるバッジを作成することです。あなたのタスク:
- バッジの位置を設定する:ボタンを基準に配置できるように、
position: absoluteを使用します。 - 右上に配置する:
topとrightに負の値を指定します。 - 色とテキストを設定する:赤い背景と白いテキストを使用します。
- フォントとパディングを調整する:
font-size: 12px; font-weight: bold; padding: 4px 7px;を設定します。 - 円形にして奥行きを加える:
border-radiusと小さなボックスシャドウ(box-shadow: 0 2px 4px rgba(0,0,0,0.2))を使用します。
チートシート
バッジは、他の要素の隣にカウントやステータスを表示するために使用される小さなインジケーターで、一般的にボタン、アイコン、またはプロフィール画像に付けられます。
基本的なHTML構造:
<button class="btn">
Messages <span class="badge">5</span>
</button>バッジのCSSスタイリング:
.btn {
position: relative;
padding: 10px 20px;
font-size: 16px;
}
.badge {
position: absolute;
top: -5px;
right: -10px;
background: red;
color: white;
border-radius: 50%;
padding: 4px 8px;
font-size: 12px;
}主なプロパティ:
position: absolute- 親要素に対して正確な配置を可能にします- 負の
topおよびrightの値 - バッジを親要素の外側に配置します border-radius: 50%- 円形を作成しますbox-shadow- 奥行きと視覚的な分離を追加します
自分で試してみよう
<!DOCTYPE html>
<html>
<head>
<title>Badges</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 40px;
background-color: #f5f5f5;
display: flex;
gap: 20px;
}
.button {
position: relative; /* needed for badge positioning */
padding: 12px 25px;
font-size: 16px;
border: none;
border-radius: 8px;
background-color: #4cafef;
color: white;
cursor: pointer;
}
.button:hover {
background-color: #3a92d8;
}
.badge {
}
</style>
</head>
<body>
<button class="button">
Messages
<span class="badge">5</span>
</button>
<button class="button">
Notifications
<span class="badge">!</span>
</button>
<button class="button">
Cart
<span class="badge">3</span>
</button>
</body>
</html>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。