HTML Label标签使用

转载 from :https://blog.youkuaiyun.com/gnail_oug/article/details/72852150

label标签介绍

label标签为input元素定义标注(标记),它不会向用户呈现任何特殊效果,和span标签类似。但label标签和span标签最大的区别就是它为鼠标用户改进了可用性,可以关联特定的表单控件。

label标签和特定表单控件关联之后,如果用户在 label 元素内点击文本,就会触发关联的表单控件。就是说,当用户选择该label标签时,浏览器就会自动将焦点转到和label标签相关的表单控件上。


主要使用场景

label标签常用于与checkbox或radio关联,以实现点击文字也能选中/取消checkbox或radio。如下图,点击文字和点击前面的单选框效果相同,即加大了控件的可点击区域较大,因为点击标签或控件都将激活控件,这对于复选框和单选框特别有用。
这里写图片描述

label标签和特定表单元素关联方式

label标签的关联方式主要有两种,显示关联和隐式关联:
方式1:显式关联

显式关联是通过label标签的for属性,显式与另一个表单控件关联需要注意的是,for属性的值必须是与label标签在同一文档中的可标记表单元素的id,注意是id而不是name。如:

爱好:

<input type='checkbox' name='basket' id='basketball'>   
<label for="basketball">篮球</label>
<input type='checkbox' name='football' id='football'>   
<label for="football">足球</label>

效果图:



隐式关联

隐式关联是直接将表单控件放到label标签内,这种情况下,label标签只能包含一个表单元素,包含多个只对第一个有效。如下:

<label>点击我可以使文本框获得焦点
    <input type='text' name='theinput' id='theinput'>
</label>

效果图如下,点击文字便能是文本框获得焦点: 



显示关联和隐式关联的优缺点:

显式关联优点:

    可以减少标签嵌套层数
    label标签和表单可以在不同的位置

显示关联缺点:

    控件需要定义id属性
    label标签和表单控件不利于作为一个整体来控制

隐式关联优点:

    控件无需定义id
    标签和控件方便作为一个整体控制

隐式关联缺点:

    增加了标签嵌套层数
    不能将标签和关联控件放到不同的位置

以上是个人对两种方式的看法,使用时可按需要选择显示或隐式。
label标签的浏览器支持及可关联的表单元素

所有主流浏览器都支持label标签。Safari 2 或更早的版本不支持label标签。

能使用显示关联的表单元素有:

    input type="text" 文本框,点击标签时关联的文本框获得焦点。
    input type="checkbox" 复选框,点击标签时选中或取消选中复选框。
    input type="radio" 单选框,点击标签时选中单选框。
    input type="file" 文件上传,点击标签时打开文件选择对话框。
    input type="password" 密码框,点击标签时密码框获得焦点。
    textarea 文本域,点击标签时文本域获得焦点。
    select 下拉框,点击标签时,下拉框获得焦点,不过并不展开下拉框选项。

label标签的form属性

form 属性指定label标签元素所属的表单。如下,虽然label标签在myform表单外,但仍属于myform表单。如下:

<form action="http://songguoliang.com/test.html" id="myform">
  <input type="radio" name="sex" id="male" value="male">
  <br>
  <label for="female">女</label>

  <input type="submit" value="提交">
</form>

<label for="male" form="myform">男</label>

效果图如下,点击”男”同样可以选中第一个单选框


注:
该form属性已于2016年4月28日从HTML规范中删除。但是,脚本仍然可以访问只读HTMLLabelElement.form属性; 它返回标签的关联控件是成员的形式,或者null如果标签未与控件相关联或控件不是表单的一部分。
---------------------

### HTML 中 `<label>` 标签用法 `<label>` 标签用于定义表单控件的标注,它能够提高用户体验并增强无障碍功能。通过将 `<label>` 和相应的表单元素绑定在一起,用户点击 `<label>` 文本时可以直接激活对应的表单控件。 #### 正确使用 `<label>` 的方法 为了使 `<label>` 能够与特定的表单元素关联起来,通常会在 `<label>` 上设置 `for` 属性,并将其值设为对应表单元素的 `id` 值[^1]。这种方式明确了两者之间的关系,从而提升了交互性和可用性。 下面是一段标准代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Label 示例</title> </head> <body> <label for="email">电子邮箱:</label> <input type="email" id="email" name="email"> </body> </html> ``` 在此例子中,`<label>` 的 `for` 属性被设定为 `"email"`,而该名称正好匹配了 `<input>` 元素的 `id` 属性值。这样当用户点击 “电子邮箱:” 这个文字时,焦点就会自动跳转到输入框上[^3]。 #### 关于 `for` 属性的作用 `for` 属性指定了哪个表单项是由当前 `<label>` 所标记出来的。具体来说就是,这个属性应该指向某个具有唯一性的 `id` 值的表单组件(比如文本框、复选按钮或者单选钮)。这种机制不仅方便鼠标操作者,也特别有利于键盘导航以及屏幕阅读设备使用者找到目标字段的位置[^2]。 另外需要注意的是,虽然可以通过嵌套的方式让 `<label>` 包裹住整个表单控制部件及其描述信息来建立联系,但是推荐的做法还是利用上述提到过的 `for` 配合 `id` 方法实现更精确可靠的连接效果[^4]。 #### 总结说明 综上所述,在实际开发过程中合理运用好 `<label>` 及其相关联特性是非常重要的一步;不仅可以改善网页界面设计上的逻辑结构清晰度,而且还能极大地促进不同类型的终端访问群体获得更好的浏览体验质量。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值