HTML 表单之label标签介绍

html-css014

HTML 表单之label标签介绍,第1张

转自: HTML 表单之label标签介绍

label标签介绍

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

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

主要使用场景

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

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

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

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

效果图:

隐式关联是直接将表单控件放到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">

<label for="female">女</label>

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

</form>

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

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

注:

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

<label>标签表示用户界面中某个元素的说明,提高其他表单元素(如<input /><select>等标签)的可及性。

与input元素进行关联,点击label元素==点击input元素。点击label元素之后,input元素会获取焦点。

index.html

运行截图:

1. 不要在label内放置可交互的元素 :如<a>标签、<button>标签、<input type='button'>,如果这样做,将会起到反作用。

2. 在<label>标签中不要添加 标题元素 : 因为标题元素通常用于辅助导航,会干扰辅助技术。

label标签使用方法:

1、<label for="userName">用户名:</label><input type="text" id="userName"/>

2、<label>用户名:<input type="text"/></label>

当在单选或多选里使用时,还会出现一种视觉效果,这也是一种友好的方式。<label><input type="radio" />性别</label>

我们都知道一个完整的表单是由表单标签<form></form>与其中包裹的各种表单控件组成的,那么LABEL标签就是一种常见的表单控件了。

在HTML里,每一种HTML标签都有自己的意义,在做页面的时候选择适合的标签,少使用DIV,Span这些无语义的标签,只有在无法确定使用什么标签才使用DIV。

扩展资料:

在编辑超文本标记语言文件和使用有关标记符时有一些约定或默认的要求。

1、文本标记语言源程序的文件扩展名默认使用htm(磁盘操作系统DOS限制的外语缩写为扩展名)或html(外语缩写为扩展名),以便于操作系统或程序辨认,除自定义的汉字扩展名。

在使用文本编辑器时,注意修改扩展名。而常用的图像文件的扩展名为gif和jpg。

2、超文本标记语言源程序为文本文件,其列宽可不受限制,即多个标记可写成一行,甚至整个文件可写成一行;若写成多行,浏览器一般忽略文件中的回车符(标记指定除外);

对文件中的空格通常也不按源程序中的效果显示。完整的空格可使用特殊符号“&nbsp(注意此字母必须小写,方可空格)”表示非换行空格;

表示文件路径时使用符号“/”分隔,文件名及路径描述可用双引号也可不用引号括起。

3、标记符中的标记元素用尖括号括起来,带斜杠的元素表示该标记说明结束;大多数标记符必须成对使用,以表示作用的起始和结束;

标记元素忽略大小写,即其作用相同,但完整的空格可使用特殊符号“&nbsp(注意此字母必须小写,方可空格)”;

许多标记元素具有属性说明,可用参数对元素作进一步的限定,多个参数或属性项说明次序不限,其间用空格分隔即可;一个标记元素的内容可以写成多行。

4、标记符号,包括尖括号、标记元素、属性项等必须使用半角的西文字符,而不能使用全角字符。

5、HTML注释由"<!--"号开始,由符号”-->“结束结束,例如<!--注释内容-->。注释内容可插入文本中任何位置。任何标记若在其最前插入惊叹号,即被标识为注释,不予显示。

参考资料:百度百科-HTML-相关要求