定義和用法
for 屬性規定 label 與哪個表單元素綁定。
隱式和顯式的聯系
標記通常以下面兩種方式中的一種來和表單控件相聯系:將表單控件作為標記標簽的內容,這樣的就是隱式形式,或者為 <label> 標簽下的 for 屬性命名一個目標表單 id,這樣就是顯式形式。
例如,在 XHTML 中:
顯式的聯系:<label for="SSN">
Social Security Number:</label>
<input type="text" name="SocSecNum"id="SSN"
/> 隱式的聯系:<label>
Date of Birth: <input type="text" name="DofB" /></label>
第一個標記是以顯式形式將文本 "Social Security Number:" 和表單的社會安全號碼的文本輸入控件 ("SocSecNum") 聯系起來,它的 for 屬性的值和控件的 id 一樣,都是 SSN。第二個標記 ("Date of Birth:") 不需要 for 屬性,它的相關控件也不需要 id 屬性,它們是通過在 <label> 標簽中放入 <input> 標簽來隱式地連接起來的。
最常見的checkbox的使用:
<input type="checkbox" name="test" /> 點擊這里沒有任何效果
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行
因為checkbox在高分辨率下,小方塊會很小,很不容易點,這難免在用戶體驗上大打折扣。
下面看看我們的解決方法:
1、給checkbox配個“老婆”(老婆的特點:必要的):
<input type="checkbox" id="test" name="test" /><label for="test">點擊這里就可以選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行
for屬性功能:表示lable標簽要綁定的HTML元素,點擊這個標簽的時候,所綁定的元素將獲取焦點。
補充: 除以上方法,還可以直接用 label 套嵌整個表單組件和文本標簽,如:
<label><input type="checkbox" />點擊這里就可以選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行
根據規范這樣文本會自動與鄰接的表單組件關聯,但遺憾的是 IE 並不支持這個特性。
2、給checkbox配個“小蜜”(小蜜的特點:更周到):
<input type="checkbox" id="test" name="test" /><label for="test" style="cursor:pointer">鼠標移到此處提示可點擊,點擊可選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行
想起《大話西游里》唐僧的嘮叨:“你想要啊?你要是想要的話你就說話嘛,你不說我怎么知道你想要呢,雖然你很有誠意地看着我,可是你還是要跟我說你想要的。你真的想要嗎?那就拿去吧!你不是真的想要吧?難道你真的想要嗎?…………”
這話說出了用戶體驗的精華,你不告訴用戶,用戶怎么知道這里能點擊。所有我們需要給label加個屬性(cursor:pointer)來告訴用戶這里可以點擊。
3、給checkbox再配個“情人”(情人的特點:可取代性):
<input type="checkbox" id="test" name="test" /><label for="test" style="cursor:pointer" accesskey="1">鼠標移到此處提示可點擊,點擊可選中label,你也可以用鍵盤快捷方式來<span style="text-decoration:underline;">1</span>(Alt+1)來選擇checkbox</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行
網站要兼顧更多類型的用戶使用,比如某些從不使用鼠標,只使用鍵盤操作的用戶,點擊對於它們來說,已經沒有任何意義,那我們該怎么做呢,最好的方法就是使用label的accesskey屬性。
accesske屬性功能:表示訪問lable標簽所綁定的元素的熱鍵,當您按下熱鍵,所綁定的元素將獲取焦點。
注意:accessKey屬性所設置的快捷鍵不能與瀏覽器的快捷鍵沖突,否則將優先激活瀏覽器的快捷鍵。