CSSの:out-of-rangeセレクターを使って、指定範囲外の値を持つinput要素にスタイルを適用する方法
CSSの :out-of-range セレクターを使用すると、min属性とmax属性で指定された許容範囲外の値を持つ <input> 要素に対して、専用のスタイルを適用できます。
このセレクターは、type="number" のように範囲制約が定義できる入力フィールドで特に有効です。ユーザーが入力した値が有効範囲から外れている場合に、視覚的なフィードバックを即座に与えることができます。なお、範囲内の値に対してスタイルを設定したい場合は、:in-range セレクターを使用します。
使用例
以下のコードは、:out-of-range セレクターを実装する例です。入力値が範囲(5〜10)外の場合に、オレンジ色の破線ボーダーと黄色い背景が表示されます。
<!DOCTYPE html>
<html>
<head>
<style>
input:out-of-range {
border: 3px dashed orange;
background: yellow;
}
</style>
</head>
<body>
<input type = "number" min = "5" max = "10" value = "15">
<p>このスタイルは、入力された値が指定範囲外の場合にのみ適用されます</p>
</body>
</html>ポイント解説
- min / max 属性との連携:範囲の判定は、input要素に設定された
minおよびmax属性の値に基づいて行われます。 - リアルタイムの視覚的フィードバック:JavaScriptを使わずにCSSだけで実装できるため、フォームのユーザビリティ向上に手軽に活用できます。
- ブラウザ対応:
:out-of-rangeセレクターは、Chrome、Firefox、Edge、Safariなど主要なモダンブラウザでサポートされています。
-
CSSでinput要素のプレースホルダーテキストをスタイリングする方法
HTMLの<input>要素のプレースホルダー(placeholder)テキストをCSSでカスタマイズするには、擬似要素(pseudo-element)をターゲットに指定する必要があります。これを実現するのが、CSSの擬似セレクターである::です。 通常のinput要素とプレースホルダーテキスト まずは、プレースホルダー付きのシンプルなinput要素を見てみましょう。 ブラウザのデフォルトスタイルでは、プレースホルダーテキストは次のように表示されます。 CSSでプレースホルダーの色を変更する それでは、::placeholderセレクターを使って、プレースホルダーのテキストを赤
-
CSSの:validセレクターで有効な値を持つinput要素をスタイリングする方法
CSSの:validセレクターを使用すると、有効な値が入力されたすべての<input>要素に対してスタイルを適用できます。 :validセレクターとは :validセレクターは、フォームの入力内容がバリデーション(妥当性チェック)を通過した場合にのみスタイルを適用する擬似クラスです。たとえば、type=emailの入力欄に正しい形式のメールアドレスが入力されたときだけ、背景色や文字色を変えるといった使い方ができます。逆に、無効な値が入力された場合にスタイルを適用したい場合は「:invalid」セレクターを使用します。両者を組み合わせることで、ユーザーに入力の正誤を視覚的にフィードバ