Baseline Widely available *
range
ç±»åç <input>
å
ç´ å
è®¸ç¨æ·æå®ä¸ä¸ªæ°å¼ï¼è¯¥æ°å¼å¿
é¡»ä¸å°äºç»å®å¼ï¼å¹¶ä¸ä¸å¾å¤§äºå¦ä¸ä¸ªç»å®å¼ã使¯ï¼å
¶ç²¾ç¡®å¼å¹¶ä¸éè¦ãéå¸¸ä½¿ç¨æ»åææ¨å·æ§ä»¶è䏿¯å number è¾å
¥ç±»åè¿æ ·çææ¬è¾å
¥æ¡æ¥è¡¨ç¤ºã
ç±äºè¿ç§å°é¨ä»¶ä¸ç²¾ç¡®ï¼å æ¤é¤éæ§ä»¶çç¡®åå¼ä¸éè¦ï¼å¦åé常ä¸åºä½¿ç¨å®ã
å°è¯ä¸ä¸<p>Audio settings:</p>
<div>
<input type="range" id="volume" name="volume" min="0" max="11" />
<label for="volume">Volume</label>
</div>
<div>
<input
type="range"
id="cowbell"
name="cowbell"
min="0"
max="100"
value="90"
step="10" />
<label for="cowbell">Cowbell</label>
</div>
p,
label {
font:
1rem "Fira Sans",
sans-serif;
}
input {
margin: 0.4rem;
}
å¦æç¨æ·çæµè§å¨ä¸æ¯æ range
ç±»åï¼å®å°åéå¹¶å°å
¶è§ä¸º text
è¾å
¥ã
没æå¯ç¨ç模å¼éªè¯ã使¯ï¼æ§è¡ä»¥ä¸å½¢å¼çèªå¨éªè¯ï¼
value
è®¾ç½®ä¸ºæ æ³è½¬æ¢ä¸ºæææµ®ç¹æ°çå¼ï¼åéªè¯å°å¤±è´¥ï¼å 为è¾å
¥æ¡ç弿¯é误çãmin
ï¼é»è®¤å¼ä¸º 0ãmax
ï¼é»è®¤å¼ä¸º 100ãstep
çæ´åæ°ï¼é»è®¤å¼ä¸º 1ãvalue
屿§å
嫿鿰åçå符串表示形å¼ã该å¼ç»ä¸è½ä¸ºç©ºå符串ï¼""
ï¼ãé»è®¤å¼ä»äºæå®çæå°å¼åæå¤§å¼ä¹é´ï¼é¤éæå¤§å¼å®é
ä¸å°äºæå°å¼ï¼å¨è¿ç§æ
åµä¸ï¼é»è®¤å¼å°è®¾ç½® min
屿§çå¼ãç¡®å®é»è®¤å¼çç®æ³æ¯ï¼
defaultValue =
rangeElem.max < rangeElem.min
? rangeElem.min
: rangeElem.min + (rangeElem.max - rangeElem.min) / 2;
妿å°è¯å°å¼è®¾ç½®ä¸ºå°äºæå°å¼ï¼åå°å ¶è®¾ç½®ä¸ºæå°å¼ã类似å°ï¼å°è¯å°å¼è®¾ç½®ä¸ºå¤§äºæå¤§å¼ä¼å¯¼è´å°å ¶è®¾ç½®ä¸ºæå¤§å¼ã
å ¶ä»å±æ§é¤äºææ <input>
å
ç´ å
±äº«ç屿§ä¹å¤ï¼range è¾å
¥è¿æä¾ä»¥ä¸å±æ§ã
list 屿§æå®äºä¸ä¸ª <datalist>
å
ç´ ç id
ï¼ç¨æ¥æä¾è¾å
¥å»ºè®®ã<datalist>
æä¾äºä¸ä¸ªé¢å®ä¹çå¼å表ï¼åç¨æ·å»ºè®®è¿ä¸ªè¾å
¥ãå表ä¸ä»»ä½ä¸ type ä¸å
¼å®¹çå¼é½ä¸å
æ¬å¨å»ºè®®é项ä¸ãææä¾ç弿¯å»ºè®®ï¼ä¸æ¯è¦æ±ï¼ç¨æ·å¯ä»¥ä»è¿ä¸ªé¢å®ä¹çå表ä¸éæ©ï¼æè
æä¾ä¸åçå¼ã
æå ³å¨æ¯æçæµè§å¨ä¸å¦ä½è¡¨ç¤ºèå´ä¸çé项ç示ä¾ï¼è¯·åè§ä¸é¢çæ·»å äºå·æ è®°ã
maxå
许å¼èå´å
çæå¤§å¼ã妿è¾å
¥å°å
ç´ ä¸ç value
è¶
è¿æ¤å¼ï¼å该å
ç´ å°æ æ³éè¿çº¦æéªè¯ã妿 max
屿§çå¼ä¸æ¯æ°åï¼åå
ç´ æ²¡ææå¤§å¼ã
æ¤å¼å¿
é¡»å¤§äºæçäº min
屿§çå¼ã请åè§ HTML max
屿§ã
å
许å¼èå´å
çæå°å¼ã妿å
ç´ çvalue
å°äºæ¤å¼ï¼å该å
ç´ å°æ æ³éè¿çº¦æéªè¯ã妿 min
æå®çå¼ä¸æ¯æææ°åï¼åè¾å
¥æ²¡ææå°å¼ã
该å¼å¿
é¡»å°äºæçäº max
屿§çå¼ã请åè§ HTML min
屿§ã
step
屿§æå®äºå¼å¿
须满足çç²åº¦ï¼æè
æ¯ä¸ææè¿°çç¹æ®å¼ any
ãå¼å¿
须满足åºç¡çæ¥è¿å¼ï¼æææã妿æå®äº min
屿§ï¼åç± min 屿§å³å®ï¼å¦åï¼ä½¿ç¨ value
屿§çå¼ï¼å¦æä¸è¿°ä¸¤ä¸ªå¼é½ä¸åå¨ï¼åæä¾éå½çé»è®¤å¼ã
åç¬¦ä¸²å¼ any
æå³çä¸ä½¿ç¨æ¥è¿å¼ï¼ä»»æå¼é½å¯ä»¥æ¥åï¼é¤å
¶ä»å¶çº¦å ç´ å¦ min
æ max
ä¹å¤ï¼ã
夿³¨ï¼ å½ç¨æ·è¾å ¥çæ°æ®ä¸ç¬¦åæ¥è¿é ç½®æ¶ï¼ç¨æ·ä»£çå¯è½ä¼åèäºå ¥å°æè¿çææå¼ï¼å½æä¸¤ä¸ªåæ ·æ¥è¿çé项æ¶ï¼æ´å¾åäºæ£æ¹åçæ°åã
range
è¾å
¥çé»è®¤æ¥è¿å¼ä¸º 1ï¼é¤éæ¥è¿åºæ°ä¸æ¯æ´æ°ï¼å¦åä»
å
许è¾å
¥æ´æ°ï¼å¦åï¼é»è®¤å¼ä¸º 1ãä¾å¦ï¼å¦æå° min
设置为 -10 å¹¶å° value
设置为 1.5ï¼å 1 ç step
å°åªå
è®¸æ£æ¹åä¸çå¼ä¸º 1.5ã2.5ã3.5 çï¼ä»¥åè´æ¹åä¸çå¼ä¸º -0.5ï¼-1.5ï¼-2.5 çã请åé
HTML step
屿§ã
类似äºå½±å <progress>
å <meter>
å
ç´ çéæ å CSS 屿§ -moz-orientï¼orient
屿§å®ä¹èå´æ»åçæ¹åãå¼å
æ¬ horizontal
å vertical
ï¼åå«ä»£è¡¨èå´çæ°´å¹³åç°ååç´åç°ã
夿³¨ï¼ 以ä¸è¾å
¥å±æ§ä¸éç¨äº range è¾å
¥ï¼accept
ãalt
ãchecked
ãdirname
ãformaction
ãformenctype
ãformmethod
ãformnovalidate
ãformtarget
ãheight
ãmaxlength
ãminlength
ãmultiple
ãpattern
ãplaceholder
ãreadonly
ãrequired
ãsize
ãsrc
å width
ã妿å
å«äºè¿äºå±æ§ä¸çä»»ä½ä¸ä¸ªï¼é½å°è¢«å¿½ç¥ã
è½ç¶ number
ç±»åå
è®¸ç¨æ·è¾å
¥å¸¦æå¯é约æçæ°åï¼ä»¥å¼ºå¶å
¶å¼ä»äºæå°å¼åæå¤§å¼ä¹é´ï¼ä½å®ç¡®å®è¦æ±è¾å
¥ç¹å®å¼ãrange
è¾å
¥ç±»åå¯ä»¥å¨ç¨æ·çè³ä¸å
³å¿æä¸ç¥éæéçç¹å®æ°å弿¯ä»ä¹çæ
åµä¸ï¼åç¨æ·è¯¢é®ä¸ä¸ªå¼ã
常ç¨èå´è¾å ¥çä¸äºæ åµç¤ºä¾ï¼
é常ï¼å¦æç¨æ·å¯¹æå°å¼åæå¤§å¼ä¹é´çè·ç¦»çç¾åæ¯æ¯å®é æ°åæ¬èº«æ´æå ´è¶£ï¼å range è¾å ¥æ¯ä¸ä¸ªä¸éçéæ©ãä¾å¦ï¼å¨å®¶åºç«ä½å£°é³éæ§å¶çæ åµä¸ï¼ç¨æ·é叏伿³å°âå°é³é设置为æå¤§é³éçä¸åâè䏿¯âå°é³é设置为 0.5âã
æå®æå°å¼åæå¤§å¼é»è®¤æ
åµä¸ï¼æå°å¼ä¸º 0ï¼æå¤§å¼ä¸º 100ã妿è¿ä¸æ¯æ³è¦çå¼ï¼åå¯ä»¥éè¿æ´æ¹ min
å/æ max
屿§ãè¿äºå¯ä»¥æ¯ä»»ä½æµ®ç¹å¼ã
ä¾å¦ï¼è¦è¦æ±ç¨æ·è¾å ¥ä»äº -10 å 10 ä¹é´çå¼ï¼å¯ä»¥ä½¿ç¨ï¼
<input type="range" min="-10" max="10" />
设置å¼çç²åº¦
é»è®¤æ
åµä¸ï¼ç²åº¦ä¸º 1ï¼è¡¨ç¤ºè¯¥å¼å§ç»æ¯æ´æ°ãå¯ä»¥éè¿æ´æ¹ step
屿§æ§å¶ç²åº¦ãä¾å¦ï¼å¦æéè¦ä¸ä¸ªä»äº 5 å° 10 ä¹é´çå¼ï¼ç²¾ç¡®å°ä¸¤ä½å°æ°ï¼ï¼ååºå° step
çå¼è®¾ç½®ä¸º 0.01ï¼
<input type="range" min="5" max="10" step="0.01" />
设置 step 为âanyâ
å¦æè¦æ¥åä»»ä½å¼èä¸è®ºæ©å±å°å°æ°ç¹åå¤å°ä½ï¼å¯ä»¥ä¸º step
屿§æå®å¼ any
ã
<input type="range" min="0" max="3.14" step="any" />
该示ä¾ä½¿ç¨æ·å¯ä»¥éæ© 0 å° Ï ä¹é´çä»»ä½å¼ï¼è对æéå¼çå°æ°é¨å没æä»»ä½éå¶ã
æ·»å äºå·æ 记为äºå¨ range æ§å¶å¨ä¸æ·»å äºå·æ è®°ï¼è¦å
å« list
屿§ï¼èµäºå®æä¸ªå®ä¹äºä¸ç³»åæ§ä»¶ä¸çäºå·æ è®° <datalist>
å
ç´ ç id
ãæ¯ä¸ªç¹ä½¿ç¨å¸¦æ value
屿§ç <option>
å
ç´ è®¾ç½®éè¦æ·»å æ è®°çç¹ã
<label for="temp">éæ©ä¸ä¸ªéå®ç温度ï¼</label><br />
<input type="range" id="temp" name="temp" list="tickmarks" />
<datalist id="tickmarks">
<option value="0"></option>
<option value="25"></option>
<option value="50"></option>
<option value="75"></option>
<option value="100"></option>
</datalist>
ç»æ æ·»å æ ç¾
ä½ å¯ä»¥éè¿ç» <option>
å
ç´ èµäº label
屿§æ¥æ è®°è¿äºäºå·æ è®°ï¼ç¶èï¼ä½ éè¦ä½¿ç¨ CSS 令æ ç¾æ¾ç¤ºä¸å®ä½æ£ç¡®ã以䏿¯å¯ä»¥å®ç°è¿ç¹çæ¹æ³ä¹ä¸ã
<label for="temp">éæ©ä¸ä¸ªéå®ç温度ï¼</label><br />
<input type="range" id="temp" name="temp" list="tickmarks" />
<datalist id="tickmarks">
<option value="0" label="å¾å·ï¼"></option>
<option value="25" label="åç½"></option>
<option value="50" label="éä¸"></option>
<option value="75" label="å徿åäºï¼"></option>
<option value="100" label="å¾çï¼"></option>
</datalist>
CSS
datalist {
display: flex;
flex-direction: column;
justify-content: space-between;
writing-mode: vertical-lr;
width: 200px;
}
option {
padding: 0;
}
input[type="range"] {
width: 200px;
margin: 0;
}
ç»æ å建åç´ range æ§ä»¶
é»è®¤æ åµä¸ï¼æµè§å¨å° range è¾å ¥æ¸²æä¸ºå¯å·¦å³æ»å¨çæé®ã
è¦å建ä¸ä¸ªåç´æ»å¨ç range è¾å
¥ï¼è¯·å° CSS appearance
屿§è®¾ç½®ä¸º slider-vertical
ï¼å¹¶å
å« Firefox çéæ å orient
屿§ã
èèä»¥ä¸ range æ§ä»¶ï¼
<input type="range" id="volume" min="0" max="11" value="7" step="1" />
该æ§ä»¶æ¯æ°´å¹³çï¼è³å°å¨å¤§é¨åä¸»æµæµè§å¨ä¸ï¼å ¶ä»çæ ¹æ®æ åµä¼ææä¸åï¼ã
ä½¿ç¨ appearance 屿§appearance
屿§å
å«äºä¸ä¸ªéæ åå¼ slider-vertical
ä½¿å¾æ»ååç´ã
æä»¬ä½¿ç¨ä¸åä¾ç¸åç HTML 代ç ï¼
<input type="range" min="0" max="11" value="7" step="1" />
æä»¬ä»¥ range ç±»åç input ä½ä¸ºç®æ ï¼
input[type="range"] {
appearance: slider-vertical;
}
ä½¿ç¨ orient 屿§
ä»
å¨ Firefox ä¸ï¼æä¸ä¸ªéæ åç orient
屿§ã
使ç¨ä¸åä¾ç±»ä¼¼ç代ç ï¼åªæ¯æ·»å ä¸ä¸ªå¼ä¸º vertical
çè¯¥å±æ§ï¼
<input type="range" min="0" max="11" value="7" step="1" orient="vertical" />
writing-mode: bt-lr
writing-mode
屿§ä¸è¬ä¸åºç¨äºæ¹åææ¬æ¹å以达å°å½é
åææ¬å°åçç®çï¼ä½å¯ç¨äºç¹æ®ææã
æä»¬ä½¿ç¨ä¸åä¾ç±»ä¼¼ç HTML 代ç ï¼
<input type="range" min="0" max="11" value="7" step="1" />
æä»¬ä»¥ range ç±»åç input ä½ä¸ºç®æ ï¼å°å使¨¡å¼ä»é»è®¤æ¹ä¸º bt-lr
ï¼ä»åºé¨åä¸ï¼ä»å·¦å°å³ï¼ï¼
input[type="range"] {
writing-mode: bt-lr;
}
å°å®ä»¬æ¾å¨ä¸èµ·
ç±äºä»¥ä¸è¿äºç¤ºä¾ä¼å¨ä¸åçæµè§å¨ä¸å¥æï¼ä½ å¯ä»¥å°å®ä»¬æ¾å¨ä¸èµ·ï¼ä½¿å¾çºµå range è¾å ¥å¯ä»¥è·¨æµè§å¨å·¥ä½ï¼
æä»¬ä¼å¨ Firefox æµè§å¨ä¸ä¿æä½¿ç¨ orient
屿§ç vertical
å¼ï¼
<input type="range" min="0" max="11" value="7" step="1" orient="vertical" />
æä»¬åªå¯¹ range ç±»åç input æ½å CSS æ ·å¼ï¼å°å使¨¡å¼ä»é»è®¤æ¹ä¸º bt-lr
ï¼æ bottom-to-top å left-to-rightï¼å¯¹äº Edge å Internet Explorer æµè§å¨ï¼ã对 Blink å Webkit æµè§å¨å¯ä»¥æ·»å appearance: slider-vertical
é
ç½®ï¼
input[type="range"] {
writing-mode: bt-lr;
appearance: slider-vertical;
}
è§è æµè§å¨å
¼å®¹æ§ å¦è¯·åè
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4