1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
---
title: ':in-range'
slug: Web/CSS/:in-range
tags:
- CSS
- 擬似クラス
- リファレンス
- セレクター
- ウェブ
browser-compat: css.selectors.in-range
translation_of: 'Web/CSS/:in-range'
---
{{CSSRef}}
**`:in-range`** は [CSS](/ja/docs/Web/CSS) の[擬似クラス](/ja/docs/Web/CSS/Pseudo-classes)で、現在の値が {{htmlattrxref("min", "input")}} および {{htmlattrxref("max","input")}} 属性による制限範囲内にある {{htmlelement("input")}} 要素を表します。
```css
/* 入力範囲が設定されていて、値がその範囲に該当する
<input> 要素をすべて選択 */
input:in-range {
background-color: rgba(0, 255, 0, 0.25);
}
```
この擬似クラスは、入力欄の現在の値が許可された範囲内にあることをユーザーに視覚的に示すのに便利です。
> **Note:** この擬似クラスは範囲制限を持つ(または設定できる)要素にのみ適用されます。そのような制限がない場合は、要素は "in-range" にも "out-of-range" にもなりません。
## 構文
{{csssyntax}}
## 例
### HTML
```html
<form action="" id="form1">
<ul>1 から 10 の間の値が有効です。
<li>
<input id="value1" name="value1" type="number" placeholder="1 to 10" min="1" max="10" value="12" required>
<label for="value1">あなたの値は</label>
</li>
</ul>
</form>
```
### CSS
```css
li {
list-style: none;
margin-bottom: 1em;
}
input {
border: 1px solid black;
}
input:in-range {
background-color: rgba(0, 255, 0, 0.25);
}
input:out-of-range {
background-color: rgba(255, 0, 0, 0.25);
border: 2px solid red;
}
input:in-range + label::after {
content: '範囲内です。';
}
input:out-of-range + label::after {
content: '範囲外です!';
}
```
### 結果
{{EmbedLiveSample('Examples', 600, 140)}}
> **Note:** 空の `<input>` は範囲外としてカウントされず、 `:out-of-range` 擬似クラスセレクターで選択されることはありません。空の入力を選択するための [`:blank`](/ja/docs/Web/CSS/:blank) 擬似クラスがありますが、この記事を書いている時点では、実験的で対応が十分ではありません。また、 `required` 属性と [`:invalid`](/ja/docs/Web/CSS/:invalid) 擬似クラスを使用すると、入力を必須にするためのより一般的なロジックとスタイルを提供できます (`:invalid` は空白_および_範囲外の入力のスタイルを指定します)。
## 仕様書
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
## 関連情報
- {{cssxref(":out-of-range")}}
- [フォームデータの検証](/ja/docs/Learn/Forms/Form_validation)
|