摘要:文本輸入框文本輸入框是最基本的表單組件,它便于用戶輸入各種數(shù)據(jù)。對大多數(shù)表單組件而言,表單提交后所有具有屬性的組件都會被提交,即使它們沒有獲值。重置按鈕用于重置所有表單組件為默認(rèn)值。
系列文章說明
原文
HTML表單是由組件構(gòu)成的,這些組件是各種瀏覽器都支持的內(nèi)置控件。本文中我們將深入探討它們、了解它們的作用、學(xué)習(xí)如何讓各種瀏覽器更好地支持它們。
雖然這里我們只探討內(nèi)建表單組件,但由于HTML表單有諸多限制、以及不同瀏覽器間的實(shí)現(xiàn)有很多的不同,故web開發(fā)者有時也得構(gòu)建自定義的表單組件。這部分內(nèi)容將會在[怎樣創(chuàng)建定制表單組件]()一文中詳細(xì)討論。
文本輸入框文本輸入框是最基本的表單組件,它便于用戶輸入各種數(shù)據(jù)。然而一些文本框也可以專門用來實(shí)現(xiàn)一些特定需求。
值得注意的是,HTML文本框只是個純文本輸入控件。這就意味著你不能用它來進(jìn)行富文本編輯(如加粗、斜體等)。所謂的富文本編輯器其實(shí)都是自定義的組件。
所有文本框都共享一些公共行為:
它們可以被標(biāo)記為只讀(用戶不可修改輸入的值)或者禁用(輸入的值不會隨著表單的其他部分一起提交)。
它們可擁有一個占位符;這是一小段在文本輸入框內(nèi)的、用于簡明描述文本框作用的文本。
它們都受size(輸入框的物理尺寸)和length(文本框能輸入的最大字符數(shù))的約束。
它們可以有拼寫檢查,如果瀏覽器支持的話。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.readonly | 1.0 | 1.0 (1.7 or earlier) | 6 | 1.0 | 1.0 |
.disabled | 1.0 | 1.0 (1.7 or earlier) | 6 | 1.0 | 1.0 |
.placeholder | 10.0 | Unknown (4.0) | 10 | 11.10 | 4.0 |
.placeholder | 10.0 | Unknown (4.0) | 10 | 11.50 | 5.0 |
.size | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.maxlength | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.spellcheck | 10.0 | Unknown (3.6) | 10 | 11.0 | 4.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.readonly | (Yes) | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
.disabled | (Yes) | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
.placeholder | 2.3 | 4.0 (4.0) | ? | 11.10 | 4 |
.placeholder | ? | 4.0 (4.0) | ? | 11.50 | 4 |
.size | (Yes) | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
.maxlength | (Yes) | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
.spellcheck | ? | 4.0 (4.0) | ? | 11.0 | ? |
單行文本框是用type屬性值為text的元素創(chuàng)建的(若未提供type屬性值,text也是個默認(rèn)屬性)。此外,如果你指定給type屬性的值不被瀏覽器支持,也會使用text作為回退值。
單行文本框只有一個約束:若你輸入的文本中有換行,瀏覽器會在發(fā)送數(shù)據(jù)前將這個換行給移除。
但是,我們也可以給單行文本框“按需”添加一些約束。這得用到pattern屬性;該屬性會告訴瀏覽器根據(jù)你選擇的一個正則表達(dá)式來驗(yàn)證值的有效性。
HTML5添加了幾個type屬性的值來增強(qiáng)基本的單行文本框。雖然這些值仍會把元素呈現(xiàn)為一個單行文本框,但實(shí)際上它們還給文本框添加了幾個額外的約束和特性。
E-mail輸入框該類型的輸入框設(shè)置了type值為email:
它給輸入框添加了這樣的驗(yàn)證約束:用戶需要輸入一個有效的e-mail地址;其他任何輸入都會導(dǎo)致輸入框報(bào)錯。而通過設(shè)置multiple屬性,這種輸入框也可以讓用戶輸入多個e-mail地址。
密碼輸入框該類型的輸入框設(shè)置了type值為password:
它并未給輸入文本添加任何特殊的約束,只是把輸入框的里值做了隱藏以防止被讀取。
搜索框注:注意這只是個用戶界面的特性;瀏覽器還是會發(fā)送純文本,除非你用Javascript給文本進(jìn)行編碼。
該類型的輸入框設(shè)置了type值為search:
文本框和搜索框的主要區(qū)別在于外觀和體驗(yàn)上(通常,搜索框會以圓角呈現(xiàn))。但其實(shí)搜索框還增加了一個特性:輸入的值可被自動保存,以實(shí)現(xiàn)在同一站點(diǎn)的不同頁面中給出自動補(bǔ)全。
電話號碼輸入框該類型的輸入框設(shè)置了type值為tel:
由于世界上有多種電話號碼制式,所以此類型的的文本框不會給用戶輸入的值強(qiáng)制使用任何約束,主要是一個語義上的區(qū)別而已。雖然在某些設(shè)備上(尤其是手機(jī))點(diǎn)擊該輸入框,會出現(xiàn)一個不同的虛擬鍵盤。
URL輸入框該類型的輸入框設(shè)置了type值為url:
為確保只輸入有效的URL,它為輸入框添加了些特殊的驗(yàn)證約束;若輸入的值不是個符合格式的URL,表單將會呈現(xiàn)錯誤狀態(tài)。
注:URL符合格式并不意味著它指向確切存在的地址。
有特殊約束并處于錯誤狀態(tài)的輸入框會阻止表單提交;此外,為讓錯誤提示更明顯,也可以為它們加些樣式,我們將在[表單數(shù)據(jù)驗(yàn)證]()一文中詳細(xì)討論這點(diǎn)。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="text" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.type="email" | 10.0 | Unknown (4.0) | 10 | 10.62 | ? |
.type="password" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.type="search" | 5.0 | Unknown (4.0) | 10 | 11.01 | 5.0 |
.type="tel" | 5.0 | Unknown (4.0) | 10 | 11.01 | 5.0 |
.type="url" | 10.0 | Unknown (4.0) | 10 | 10.62 | ? |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="text" | (Yes) | 4.0 (4.0) | (Yes) | (Yes) | 1.0 |
.type="email" | Not supported | 4.0 (4.0) | Not supported | (Yes) | ? |
.type="password" | ? | 4.0 (4.0) | ? | ? | ? |
.type="search" | Not supported | 4.0 (4.0) | ? | (Yes) | 4.0 |
.type="tel" | 2.3 | 4.0 (4.0) | ? | (Yes) | 3.1 |
.type="url" | Not supported | 4.0 (4.0) | ? | (Yes) | 3.1 |
多行文本框使用了元素而非元素。
多行文本框與普通的單行文本框間的主要不同在于,用戶可以輸入帶有顯式換行(即支持回車[CR]和換行[LF]字符)的文本。
值得注意的是,使用CSS屬性resize,用戶可以直接改變多行文本框大小,如果你想讓他們這么做的話。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
(Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
(Yes) | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
下拉組件能讓用戶很方便地從眾多選項(xiàng)中作選擇。HTML有兩種下拉組件:選擇框和自動補(bǔ)全組件。這兩者的交互方式是一樣的,一旦控件被激活,瀏覽器會展示一列表的值讓用戶從中選擇,這個值列表會覆蓋在頁面內(nèi)容之上。
選擇框選擇框是通過元素創(chuàng)建的,并使用一或多個元素作為其子元素,每個都指定了一個可能的值。
若有需要,選擇框的默認(rèn)值可通過為相應(yīng)的元素設(shè)置selected屬性進(jìn)行指定。為了給值創(chuàng)建分組,元素亦可嵌套于元素中:
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
1.0 | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) | |
1.0 | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) | |
1.0 | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
1.0 | 4.0 (4.0) | (Yes) | (Yes) | (Yes) | |
1.0 | 4.0 (4.0) | (Yes) | (Yes) | (Yes) | |
1.0 | 4.0 (4.0) | (Yes) | (Yes) | (Yes) |
默認(rèn)的,選擇框只允許用戶選擇一個值。要讓用戶能選擇多個值,可通過給元素添加multiple屬性實(shí)現(xiàn)。但此時,選擇框就不再呈現(xiàn)為一個下拉組件了,反而呈現(xiàn)為一個普通的列表框。
自動補(bǔ)全組件注:所有支持元素的瀏覽器也都支持它的multiple屬性。
通過使用元素,你可以給表單組件提供說明、自動補(bǔ)全的值,并通過子元素來指定要呈現(xiàn)的值。設(shè)置好后,這份數(shù)據(jù)列表就能綁定到其他使用了list屬性的組件上了。
一旦數(shù)據(jù)列表附加到一個表單組件上,它的選項(xiàng)就能被用于自動補(bǔ)全用戶輸入的文本;典型的情況是,選項(xiàng)被呈現(xiàn)為一個帶有可能匹配的值的下拉框。
注:根據(jù)HTML規(guī)范,list屬性和元素可被用于任何需要用戶輸入的組件上。然而,其并未清楚指明如何在非文本控件上使用,同時不同瀏覽器的實(shí)現(xiàn)也是各有不同。所以,要在非文本控件使用該特性得多加小心。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
20.0 | Unknown (4.0) | 10 | 9.6 | Not supported | |
.list | 20.0 | Unknown (4.0) | 10 | 9.6 | Not supported |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
Not supported | 4.0 (4.0) | Not supported | (Yes) | Not supported | |
.list | Not supported | 4.0 (4.0) | Not supported | (Yes) | Not supported |
可勾選組件指的是可以通過點(diǎn)擊改變其狀態(tài)的組件。有兩種可勾選組件:復(fù)選框和單選框,它們都可以通過checked屬性來指示該組件是否默認(rèn)被勾選。
值得注意的是,這些組件的行為和其他表單組件不太一樣。對大多數(shù)表單組件而言,表單提交后所有具有name屬性的組件都會被提交,即使它們沒有獲值。但對于可勾選組件,它們的值卻只有在它們被勾選之后才會提交,如果沒有勾選,則不會提交東西,包括其name屬性。
復(fù)選框復(fù)選框由設(shè)置了type值為checkbox的元素創(chuàng)建:
上面的HTML創(chuàng)建的復(fù)選框是默認(rèn)勾選的。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="checkbox" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="checkbox" | 1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
單選框由設(shè)置了type值為radio的元素創(chuàng)建:
幾個單選框可以被綁定在一起,只要它們使用相同的name屬性值,它們就被視為同一組選框。而在同一組中,只有一個選框能被勾選;這意味著其中一個勾選之后,其他所有選框會自動不勾選。
到了表單提交時,也只有被勾選的值會被提交;如果沒有勾選,整組單選框會被認(rèn)為處于未知狀態(tài)且不會隨表單提交。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="radio" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="radio" | 1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
HTML表單中,有三種按鈕:
提交按鈕
用于發(fā)送表單數(shù)據(jù)給服務(wù)器。
重置按鈕
用于重置所有表單組件為默認(rèn)值。
匿名按鈕
這種按鈕不自帶特效,但也可以通過Javascript代碼進(jìn)行自定義。
按鈕可以由元素或元素創(chuàng)建。type屬性的值會指定將呈現(xiàn)何種按鈕。
提交按鈕重置按鈕
匿名按鈕
通常使用或創(chuàng)建的按鈕行為都是一樣的。然而也存在幾點(diǎn)不同:
就如先前的例子所示,元素允許你使用HTML內(nèi)容作為其標(biāo)記內(nèi)容,但元素只接受純文本內(nèi)容。
使用元素是,可以采用和按鈕中內(nèi)容不一樣的值。(但在IE8以下的瀏覽器中這是不可行的)
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="number" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.type="reset" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
.type="button" | 1.0 | 1.0 (1.7 or earlier) | 3 | 1.0 | 1.0 |
1.0 | 1.0 (1.7 or earlier) | (Yes)(Buggy before IE8) | (Yes) | (Yes) |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="number" | 1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
.type="reset" | 1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
.type="button" | 1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
1.0 | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
這一系列的組件能讓用戶輸入一些復(fù)雜或高度結(jié)構(gòu)化的數(shù)據(jù),包括精確或近似數(shù)字、日期和時間、顏色。
數(shù)字數(shù)字組件是通過type設(shè)置為number的元素創(chuàng)建的。該控件看起來像文本框,但卻只允許輸入浮點(diǎn)數(shù),而且通常還會帶有幾個按鈕來增加或減少組件的值。
我們可以通過設(shè)置min和max屬性來約束該組件的值。也可以通過step屬性來指定該組件的增加和減少按鈕的改變量。
上述代碼創(chuàng)建了一個取值被限制在1到10之間的數(shù)字組件,其增加和減少按鈕的改變量為2。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="number" | 11.0 | Not supported | 10(recognized but no UI) | (Yes) | 5.2 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="number" | 2.3 | Not supported | Not supported | (Yes) | 4.0 |
另一種選取數(shù)字的方法是使用滑塊。由于操作滑塊看起來不及文本框輸入數(shù)字精確,所以滑塊常用于選取對值的要求不是很精確的數(shù)字。
滑塊組件是通過type設(shè)置為range的元素創(chuàng)建的。適當(dāng)配置滑塊是很重要的,強(qiáng)烈推薦你設(shè)置其min, max, step屬性。
示例中創(chuàng)建了一個取值被限制在1到5之間的滑塊組件,其增加和減少按鈕的改變量分別為+1和-1。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="range" | 5.0 | 23.0 | 10 | 10.62 | 4.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="range" | Not supported | 23.0 | Not supported | 10.62 | 5.0 |
收集日期和時間的值在之前往往是web開發(fā)者的噩夢。現(xiàn)在HTML5通過引入一個特殊的控件用于處理這類特定的數(shù)據(jù),帶來了一些新改進(jìn)。
日期和時間控件是通過type設(shè)置為特定值的元素創(chuàng)建的。因?yàn)槟憧赡芟M苁占掌?、時間或者兩者兼有,所以它提供了幾個不同的type屬性值:
date創(chuàng)建展示和選取日期、但不含具體時間的組件。
datetime創(chuàng)建展示和選取日期、并帶有UTC時區(qū)時間的組件。
datetime-local創(chuàng)建展示和選取日期、并帶有任何指定時區(qū)時間的組件。
month創(chuàng)建展示和選取月份、并帶有年份的組件。
time創(chuàng)建展示和選取一個時間值的組件。
week創(chuàng)建展示和選取周數(shù)、并帶其年份的組件。
所有的日期與時間控件都可以使用max和min屬性進(jìn)行約束:
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="date" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="datetime" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="datetime-local" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="month" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="time" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="week" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="date" | Not supported | Not supported | Not supported | 10.62 | 5.0 |
.type="datetime" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="datetime-local" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="month" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="time" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
.type="week" | Not supported | Not supported | Not supported | 10.62 | (Yes) |
顏色選擇器警告:日期和時間組件都是很新的組件,甚至那些聲稱支持它們的瀏覽器也常有重大的用戶界面問題,這讓這些組件很難被使用。所以在發(fā)布你的內(nèi)容之前,請先徹底地在不同的瀏覽器上測試一遍!
通常顏色都有點(diǎn)難于處理,因?yàn)橛性S多種方式來表示它們:RGB值(十進(jìn)制或十六進(jìn)制)、HSL值、關(guān)鍵字等等。而顏色選擇器能方便用戶以文本或圖形的形式選擇顏色。
顏色組件是通過type設(shè)置為color的元素創(chuàng)建的。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="color" | 21.0 | Not supported | Not supported | 11.01 | Not supported |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="color" | Not supported | Not supported | Not supported | ? | Not supported |
還有一些組件難以被歸類,因?yàn)樗鼈儞碛幸恍┓浅L厥獾男袨?;但其?shí)它們也是很有用的。
文件選擇器HTML表單可以向服務(wù)器發(fā)送文件,關(guān)于這點(diǎn),在[發(fā)送表單數(shù)據(jù)]()一文中有詳細(xì)的討論。文件選擇器組件是讓用戶選擇一或多個文件進(jìn)行發(fā)送的一種方式。
文件選擇器組件是通過type設(shè)置為file的元素創(chuàng)建的。被接收的文件類型可通過使用accept屬性進(jìn)行指定;此外,若你想讓用戶選擇不止一個文件,可以添加multiple屬性。
在下面的例子中,我們創(chuàng)建了一個接收圖像圖形文件的文件選擇器,它也允許用戶選擇多個文件。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="file" | 1.0 | 1.0 (1.7 or earlier) | 3.02 | 1.0 | 1.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="file" | ? | ? | ? | ? | ? |
有時因?yàn)榧夹g(shù)原因,我們得讓一些隨表單發(fā)送的數(shù)據(jù)對用戶不可見。要這樣做,你可以在你的表單中添加一個隱藏元素,只需使用type設(shè)置為hidden的元素。
若你創(chuàng)建了這種元素,還必須設(shè)置其name和value屬性:
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="hidden" | 1.0 | 1.0 (1.7 or earlier) | 2 | 1.0 | 1.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="hidden" | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
圖像按鈕控件表面看起來就像是
若圖像按鈕被用于提交表單,它不會提交它的值,而是提交在圖片上點(diǎn)擊的X和Y坐標(biāo)(坐標(biāo)是相對圖像而言的,取左上角為(0, 0)坐標(biāo))。坐標(biāo)以兩個鍵/值對的形式發(fā)送,X值的鍵名是name屬性的值加上字符串".x",Y值的鍵名是name屬性的值加上字符串".y"。這樣就提供了一種便于創(chuàng)建“熱點(diǎn)地圖”的方式。
舉個例子:
當(dāng)你點(diǎn)擊這個表單的圖像時,你會發(fā)送出如下URL:
http://foo.com?pos.x=123&pos.y=456
pos.x和pos.y參數(shù)的值取決于你點(diǎn)擊了圖片上哪個地方。這些數(shù)據(jù)的發(fā)送和檢索將在[發(fā)送表單數(shù)據(jù)]()一文中討論。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="image" | 1.0 | 1.0 | 2 | 1.0 | 1.0 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
.type="image" | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
度量和進(jìn)度條是數(shù)字值的可視化表示。
進(jìn)度條代表一個隨時間變化、直至達(dá)到由max屬性指定的最大值的值。進(jìn)度條使用元素進(jìn)行創(chuàng)建,元素的內(nèi)容用于讓不支持該元素的瀏覽器作降級處理、也讓無障礙設(shè)備能讀出來。
度量條表示一個處于由min和max值劃分的范圍的固定值。該值被渲染為一個長條,長條使用
75
而要知道該長條長什么樣子,我們還得比較它的value值與另外幾個值:
low和high值將一個長條的范圍劃分了三個部分:
范圍較低的那部分位于min和low之間(含這兩個值)。
范圍的中間部分位于low和high之間(不含這兩個值)。
范圍較高的那部分位于high和max之間(含這兩個值)。
optimum值定義了
若optimum值位于范圍較低的那部分,則較低的那部分是最佳的部分,中間部分是平均的部分,較高的那部分則是最差的部分。
若optimum值位于范圍的中間部分,則較低的那部分是平均的部分,中間部分是最佳的部分,較高的那部分也還是平均的部分。
若optimum值位于范圍較高的那部分,則較低的那部分是最差的部分,中間部分是平均的部分,較高的那部分是最佳的部分。
所有實(shí)現(xiàn)了
若現(xiàn)在的值位于范圍最佳的部分,則長條顯示為綠色。
若現(xiàn)在的值位于范圍平均的部分,則長條顯示為黃色。
若現(xiàn)在的值位于范圍最差的部分,則長條顯示為紅色。
兼容性表
屬性(桌面端) | Chrome | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
6.0 | 6.0(6.0) | 10 | 10.6 | 5.2 | |
6.0 | 16.0(16.0) | Not supported | 11.0 | 5.2 |
屬性(移動端) | Android | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|
Not supported | 6.0(6.0) | Not supported | 11.0 | ? | |
Not supported | 16.0(16.0) | Not supported | 11.0 | ? |
若要深入了解表單組件的不同,這里還提供了一些你應(yīng)該看看的有用資源:
The Current State of HTML5 Forms by Wufoo
HTML5 Tests - inputs on Quirksmode (也可用于移動端瀏覽器)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/54365.html
摘要:系列文章說明原文下面的兼容性表將總結(jié)出表單對的支持程度,由于和表單的復(fù)雜性,這幾個表不能認(rèn)為是最佳的參考對象。該屬性不能生效,或者表現(xiàn)很不一致以至于不可靠。在表單組件上,不支持該屬性。按鈕屬性備注該屬性不會在上的瀏覽器上生效。 系列文章說明 原文 下面的兼容性表將總結(jié)出HTML表單對CSS的支持程度,由于CSS和HTML表單的復(fù)雜性,這幾個表不能認(rèn)為是最佳的參考對象。盡管如此,它們...
摘要:系列文章說明原文下面的兼容性表將總結(jié)出表單對的支持程度,由于和表單的復(fù)雜性,這幾個表不能認(rèn)為是最佳的參考對象。該屬性不能生效,或者表現(xiàn)很不一致以至于不可靠。在表單組件上,不支持該屬性。按鈕屬性備注該屬性不會在上的瀏覽器上生效。 系列文章說明 原文 下面的兼容性表將總結(jié)出HTML表單對CSS的支持程度,由于CSS和HTML表單的復(fù)雜性,這幾個表不能認(rèn)為是最佳的參考對象。盡管如此,它們...
摘要:示例多選框和單選框給多選框和單選框添加樣式是很讓人凌亂的。通向漂亮表單之路一些有用的庫和拓展工具盡管在復(fù)選框和單選框上的表現(xiàn)力已經(jīng)夠用了,但離其支持高級表單組件仍然遙遙無期。其表單部分挺有用的。 系列文章說明 原文 在本文中,我們將了解如何在HTML表單上使用CSS,為那些難于自定義的表單組件加以樣式。如前文所述,文本框和按鈕很適合使用CSS,而現(xiàn)在我們得來探索HTML表單樣式的那...
摘要:示例多選框和單選框給多選框和單選框添加樣式是很讓人凌亂的。通向漂亮表單之路一些有用的庫和拓展工具盡管在復(fù)選框和單選框上的表現(xiàn)力已經(jīng)夠用了,但離其支持高級表單組件仍然遙遙無期。其表單部分挺有用的。 系列文章說明 原文 在本文中,我們將了解如何在HTML表單上使用CSS,為那些難于自定義的表單組件加以樣式。如前文所述,文本框和按鈕很適合使用CSS,而現(xiàn)在我們得來探索HTML表單樣式的那...
摘要:一個表單由一或多個部件組成,這些部件可以是文本框單行或多行選擇框按鈕復(fù)選框或單選按鈕。在我們的示例里,一個文本框中用了該屬性的默認(rèn)值,該值表示一個基本的單行文本框,用于接收無控制或驗(yàn)證的任何文本。 前言 這個系列譯自mdn上的一份表單指南,原文詳盡闡述了表單相關(guān)的基礎(chǔ)知識。而表單作為一個經(jīng)典的頁面交互方式,是每個前端工程師繞不開的話題,通過翻譯這個系列的文章既是有助于掃清自己的知識盲區(qū)...
摘要:在里我們簡單保存了對回調(diào)函數(shù)的引用,回調(diào)函數(shù)是由指令傳入的譯者注參考,只要每次組件值發(fā)生改變,就會觸發(fā)這個回調(diào)函數(shù)。 原文鏈接:Never again be confused when implementing ControlValueAccessor in Angular?forms showImg(https://segmentfault.com/img/bV7rR7?w=400...
閱讀 3552·2019-08-30 15:53
閱讀 3463·2019-08-29 16:54
閱讀 2252·2019-08-29 16:41
閱讀 2527·2019-08-23 16:10
閱讀 3432·2019-08-23 15:04
閱讀 1429·2019-08-23 13:58
閱讀 415·2019-08-23 11:40
閱讀 2509·2019-08-23 10:26