css-in-out-of-range.json 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. {
  2. "title":":in-range and :out-of-range CSS pseudo-classes",
  3. "description":"If a temporal or number `<input>` has `max` and/or `min` attributes, then `:in-range` matches when the value is within the specified range and `:out-of-range` matches when the value is outside the specified range. If there are no range constraints, then neither pseudo-class matches.",
  4. "spec":"https://www.w3.org/TR/selectors4/#range-pseudos",
  5. "status":"wd",
  6. "links":[
  7. {
  8. "url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range",
  9. "title":"MDN Web Docs - CSS :out-of-range"
  10. },
  11. {
  12. "url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-in-range",
  13. "title":"WHATWG HTML specification for `:in-range` and `:out-of-range`"
  14. }
  15. ],
  16. "bugs":[
  17. ],
  18. "categories":[
  19. "CSS"
  20. ],
  21. "stats":{
  22. "ie":{
  23. "5.5":"n",
  24. "6":"n",
  25. "7":"n",
  26. "8":"n",
  27. "9":"n",
  28. "10":"n",
  29. "11":"n"
  30. },
  31. "edge":{
  32. "12":"n",
  33. "13":"a #2",
  34. "14":"a #2",
  35. "15":"a #2",
  36. "16":"a #2",
  37. "17":"a #2",
  38. "18":"a #2"
  39. },
  40. "firefox":{
  41. "2":"n",
  42. "3":"n",
  43. "3.5":"n",
  44. "3.6":"n",
  45. "4":"n",
  46. "5":"n",
  47. "6":"n",
  48. "7":"n",
  49. "8":"n",
  50. "9":"n",
  51. "10":"n",
  52. "11":"n",
  53. "12":"n",
  54. "13":"n",
  55. "14":"n",
  56. "15":"n",
  57. "16":"n",
  58. "17":"n",
  59. "18":"n",
  60. "19":"n",
  61. "20":"n",
  62. "21":"n",
  63. "22":"n",
  64. "23":"n",
  65. "24":"n",
  66. "25":"n",
  67. "26":"n",
  68. "27":"n",
  69. "28":"n",
  70. "29":"a #3",
  71. "30":"a #3",
  72. "31":"a #3",
  73. "32":"a #3",
  74. "33":"a #3",
  75. "34":"a #3",
  76. "35":"a #3",
  77. "36":"a #3",
  78. "37":"a #3",
  79. "38":"a #3",
  80. "39":"a #3",
  81. "40":"a #3",
  82. "41":"a #3",
  83. "42":"a #3",
  84. "43":"a #3",
  85. "44":"a #3",
  86. "45":"a #3",
  87. "46":"a #3",
  88. "47":"a #3",
  89. "48":"a #3",
  90. "49":"a #3",
  91. "50":"y",
  92. "51":"y",
  93. "52":"y",
  94. "53":"y",
  95. "54":"y",
  96. "55":"y",
  97. "56":"y",
  98. "57":"y",
  99. "58":"y",
  100. "59":"y",
  101. "60":"y",
  102. "61":"y",
  103. "62":"y",
  104. "63":"y",
  105. "64":"y",
  106. "65":"y",
  107. "66":"y",
  108. "67":"y",
  109. "68":"y"
  110. },
  111. "chrome":{
  112. "4":"n",
  113. "5":"u",
  114. "6":"u",
  115. "7":"u",
  116. "8":"u",
  117. "9":"u",
  118. "10":"u",
  119. "11":"u",
  120. "12":"u",
  121. "13":"u",
  122. "14":"u",
  123. "15":"a #2 #3",
  124. "16":"a #2 #3",
  125. "17":"a #2 #3",
  126. "18":"a #2 #3",
  127. "19":"a #2 #3",
  128. "20":"a #2 #3",
  129. "21":"a #2 #3",
  130. "22":"a #2 #3",
  131. "23":"a #2 #3",
  132. "24":"a #2 #3",
  133. "25":"a #2 #3",
  134. "26":"a #2 #3",
  135. "27":"a #2 #3",
  136. "28":"a #2 #3",
  137. "29":"a #2 #3",
  138. "30":"a #2 #3",
  139. "31":"a #2 #3",
  140. "32":"a #2 #3",
  141. "33":"a #2 #3",
  142. "34":"a #2 #3",
  143. "35":"a #2 #3",
  144. "36":"a #2 #3",
  145. "37":"a #2 #3",
  146. "38":"a #2 #3",
  147. "39":"a #2 #3",
  148. "40":"a #2 #3",
  149. "41":"a #2 #3",
  150. "42":"a #2 #3",
  151. "43":"a #2 #3",
  152. "44":"a #2 #3",
  153. "45":"a #2 #3",
  154. "46":"a #2 #3",
  155. "47":"a #2 #3",
  156. "48":"a #2 #3",
  157. "49":"a #2 #3",
  158. "50":"a #2 #3",
  159. "51":"a #2 #3",
  160. "52":"a #2",
  161. "53":"y",
  162. "54":"y",
  163. "55":"y",
  164. "56":"y",
  165. "57":"y",
  166. "58":"y",
  167. "59":"y",
  168. "60":"y",
  169. "61":"y",
  170. "62":"y",
  171. "63":"y",
  172. "64":"y",
  173. "65":"y",
  174. "66":"y",
  175. "67":"y",
  176. "68":"y",
  177. "69":"y",
  178. "70":"y",
  179. "71":"y",
  180. "72":"y",
  181. "73":"y",
  182. "74":"y",
  183. "75":"y",
  184. "76":"y"
  185. },
  186. "safari":{
  187. "3.1":"n",
  188. "3.2":"n",
  189. "4":"n",
  190. "5":"u",
  191. "5.1":"a #2 #3",
  192. "6":"a #2 #3",
  193. "6.1":"a #2 #3",
  194. "7":"a #2 #3",
  195. "7.1":"a #2 #3",
  196. "8":"a #2 #3",
  197. "9":"a #2 #3",
  198. "9.1":"a #2 #3",
  199. "10":"a #2 #3",
  200. "10.1":"y",
  201. "11":"y",
  202. "11.1":"y",
  203. "12":"y",
  204. "12.1":"y",
  205. "TP":"y"
  206. },
  207. "opera":{
  208. "9":"u",
  209. "9.5-9.6":"u",
  210. "10.0-10.1":"a #2",
  211. "10.5":"a #2",
  212. "10.6":"a #2",
  213. "11":"a #2",
  214. "11.1":"a #2",
  215. "11.5":"a #2",
  216. "11.6":"a #2",
  217. "12":"a #2",
  218. "12.1":"a #2",
  219. "15":"a #2 #3",
  220. "16":"a #2 #3",
  221. "17":"a #2 #3",
  222. "18":"a #2 #3",
  223. "19":"a #2 #3",
  224. "20":"a #2 #3",
  225. "21":"a #2 #3",
  226. "22":"a #2 #3",
  227. "23":"a #2 #3",
  228. "24":"a #2 #3",
  229. "25":"a #2 #3",
  230. "26":"a #2 #3",
  231. "27":"a #2 #3",
  232. "28":"a #2 #3",
  233. "29":"a #2 #3",
  234. "30":"a #2 #3",
  235. "31":"a #2 #3",
  236. "32":"a #2 #3",
  237. "33":"a #2 #3",
  238. "34":"a #2 #3",
  239. "35":"a #2 #3",
  240. "36":"a #2 #3",
  241. "37":"a #2 #3",
  242. "38":"a #2 #3",
  243. "39":"a #2",
  244. "40":"y",
  245. "41":"y",
  246. "42":"y",
  247. "43":"y",
  248. "44":"y",
  249. "45":"y",
  250. "46":"y",
  251. "47":"y",
  252. "48":"y",
  253. "49":"y",
  254. "50":"y",
  255. "51":"y",
  256. "52":"y",
  257. "53":"y",
  258. "54":"y",
  259. "55":"y",
  260. "56":"y",
  261. "57":"y",
  262. "58":"y"
  263. },
  264. "ios_saf":{
  265. "3.2":"n",
  266. "4.0-4.1":"n",
  267. "4.2-4.3":"n",
  268. "5.0-5.1":"a #2 #3",
  269. "6.0-6.1":"a #2 #3",
  270. "7.0-7.1":"a #2 #3",
  271. "8":"a #2 #3",
  272. "8.1-8.4":"a #2 #3",
  273. "9.0-9.2":"a #2 #3",
  274. "9.3":"a #2 #3",
  275. "10.0-10.2":"a #2 #3",
  276. "10.3":"y",
  277. "11.0-11.2":"y",
  278. "11.3-11.4":"y",
  279. "12.0-12.1":"y",
  280. "12.2":"y"
  281. },
  282. "op_mini":{
  283. "all":"a #1"
  284. },
  285. "android":{
  286. "2.1":"n",
  287. "2.2":"n",
  288. "2.3":"n",
  289. "3":"n",
  290. "4":"a #2",
  291. "4.1":"a #2",
  292. "4.2-4.3":"a #2",
  293. "4.4":"a #2",
  294. "4.4.3-4.4.4":"a #2",
  295. "67":"y"
  296. },
  297. "bb":{
  298. "7":"n",
  299. "10":"a #2"
  300. },
  301. "op_mob":{
  302. "10":"a #2",
  303. "11":"a #2",
  304. "11.1":"a #2",
  305. "11.5":"a #2",
  306. "12":"a #2",
  307. "12.1":"a #2",
  308. "46":"y"
  309. },
  310. "and_chr":{
  311. "71":"y"
  312. },
  313. "and_ff":{
  314. "64":"y"
  315. },
  316. "ie_mob":{
  317. "10":"n",
  318. "11":"n"
  319. },
  320. "and_uc":{
  321. "11.8":"y"
  322. },
  323. "samsung":{
  324. "4":"a #2",
  325. "5.0-5.4":"y",
  326. "6.2-6.4":"y",
  327. "7.2-7.4":"y",
  328. "8.2":"y"
  329. },
  330. "and_qq":{
  331. "1.2":"y"
  332. },
  333. "baidu":{
  334. "7.12":"y"
  335. }
  336. },
  337. "notes":"Note that `<input type=\"range\">` can never match `:out-of-range` because the user cannot input such a value, and if the initial value is outside the range, the browser immediately clamps it to the minimum or maximum (as appropriate) bound of the range.",
  338. "notes_by_num":{
  339. "1":"Opera Mini correctly applies style on initial load, but does not correctly update when value is changed.",
  340. "2":"`:in-range` also incorrectly matches temporal and `number` inputs which don't have `min` or `max` attributes. See [Edge bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7200501/), [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=603268), [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=156558).",
  341. "3":"`:in-range` and `:out-of-range` incorrectly match inputs which are disabled or readonly. See [Edge bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7190958/), [Mozilla bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1264157), [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=156530), [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=602568)."
  342. },
  343. "usage_perc_y":87.39,
  344. "usage_perc_a":7.93,
  345. "ucprefix":false,
  346. "parent":"",
  347. "keywords":"in,out,of,range,:in-range,:out-of-range",
  348. "ie_id":"cssrangepseudoclasses",
  349. "chrome_id":"",
  350. "firefox_id":"",
  351. "webkit_id":"",
  352. "shown":true
  353. }