今天我们一起来学习一下html中的label
标签。
什么是label?
现实生活中,标签无处不在,比如我们在超市买东西时,商品上都会贴有标签,标签上会标明商品的名称、成分、型号、价格等信息。
Web世界中也有自己的标签,那就是label
,它的作用是为控件提供一个说明。以如下登录界面为例,这里的Username
和Password
就是label,他们标明右侧的输入框分别要输入用户名和密码。label
标签的作用就是为控件提供一个标题以说明这个控件的作用。
当然label标签不仅可以用于输入框(input),还可以用于下拉选择框(select),单选框(radio),复选框(checkbox)等控件。
用于下拉选择框
html中使用select
+ option
来完成下拉框的功能。
1 | <div style="padding: 16px; border-radius: 4px; border: 1px solid #ccc;"> |
渲染结果如下:
用于单选框
对于单选框(radio button),如果要实现互斥效果(多个radio button只能选择其中一个),必须给这些radio button设置相同的name,比如下面两个radio button的name都设置为gender
。
1 | <div style="padding: 16px; border-radius: 4px; border: 1px solid #ccc;"> |
渲染结果如下:
用于复选框
html代码如下:
1 | <div style="padding: 16px; border-radius: 4px; border: 1px solid #ccc"> |
渲染结果如下:
如何使用label标签
为控件添加label标签主要有两种方式,一种是使用for/id
的方式,另一种是使用嵌套的方式。
使用for/id方式提供label标签
- 首先,定义控件时,为控件提供一个
id
属性。 - 然后,在label标签中添加
for
属性,指定其值为控件的id
属性值。
下面的代码中,我们定义了一个文本框控件,并给它设置了id
属性,其值为username
,并为它提供了一个label
标签,并设置其for
属性的值为username
。这样,label和控件就关联起来了。
1 | <label for="username">Username:</label> |
使用嵌套方式提供label标签
如果不想使用for/id
的形式,那么可以直接用label标签包裹住对应的控件
1 | <label>Username: |
无论使用哪种形式,都可以调整label和控件的先后顺序,对于input输入框来说,一般label在前面,控件在后面。而对于checkbox来说,一般是控件在前而label在后,此时我们可以按如下方式书写html。
1 | <input type="checkbox" id="subscribe" name="subscribe"> |
或者
1 | <label> |
哪些控件可以使用label标签
大多数表单控件都可以使用label标签,包括但不限于:
- 文本框 - text box
<input type='text'>
- 单选框 - radio button
<input type='radio'>
- 复选框 - checkbox
<input type='checkbox'>
- 下拉列表 -
<select>
- 多行文本框 -
<textarea>
label标签的好处
使用label标签有哪些好处呢?
- 增强页面的可访问性,label标签不仅从视觉上为控件提供了标题,也为屏幕阅读器提供了可读的信息,这使得有视力障碍的用户也能更好的理解页面内容。
- 提供用户体验,label标签扩大了控件的可点击区域,即使用户点击label标签也能触发控件的操作。- 以上面第一个例子
username
控件为例,即使用户点击label标签username
,input控件也能获取焦点。