CSSフォームデザインまとめ:input装飾・focus・ラジオ/チェックボックス
フォームは見た目よりも「入力しやすさ」と「どこを操作中か分かること」が重要です。装飾を加える場合も、フォーカス表示やラベルとの関係を崩さないようにします。
フォームの基本レイアウト
.form-group {
margin-bottom: 1rem;
}
.form-group label {
display: block;
margin-bottom: 0.4rem;
font-weight: 700;
}
inputの基本装飾
input[type="text"],
input[type="email"],
textarea {
width: 100%;
padding: 0.75rem;
border: 1px solid #ccc;
border-radius: 6px;
font: inherit;
}
focus時の枠色
フォーカス表示は消さずに、色や影で分かりやすくします。
input:focus,
textarea:focus {
outline: 2px solid rgba(11, 99, 206, 0.25);
border-color: #0b63ce;
}
ラジオ・チェックボックスのカスタム
appearance: none; で標準表示を消す場合は、チェック状態とキーボード操作時の見た目を必ず用意します。
input[type="checkbox"] {
appearance: none;
width: 1.1rem;
height: 1.1rem;
border: 2px solid #888;
border-radius: 4px;
vertical-align: middle;
}
input[type="checkbox"]:checked {
background: #0b63ce;
border-color: #0b63ce;
}
input[type="checkbox"]:focus {
outline: 2px solid rgba(11, 99, 206, 0.25);
}