玫瑰小妖 2020-01-29
从最终效果来看,label与span标签显示方式及作用都一样的
但由于label中有for属性的存在,也有着决定性的不同
label标签通常是写在表单(form)内的,他与一个普通的span最大的不同,就是可以和表单元素配对,比如文本框,单选框,复选框。而配对的方法,就是通过label的for属性。
比如
12 | <input type="text" name="" id="a" /><label for="b">点击字,文本框获取焦点</label><br/><input type="text" name="" id="b" /><label for="a">点击字,文本框获取焦点</大专栏 Html的label和span的区别ass="name">label><br/> |
测试以上代码,可以看到,当点击字的时候,会根据label的for属性的值,找到对应的id元素
也就是说,只是点击文字,对应的input也能获得焦点
将lable改成span,然后加上了for,但没有作用,这就是span与label的区别了。
如果你不想给label加for,但又想把input元素后面的文字和input本身关联起来,那你也可以这样:
1 | <label><input type="checkbox" name="aksd" id="aksd" /> 几个字</label> |
就是用label把input包起来。这样的效果与input后紧跟加for的label效果相同:点击文字即可选中复选框。
同样,把代码中的label换成span就不行了。
注意:label包input的方法,在IE6下无效!
推荐input与label分离的模式,因为这样更灵活,你可以把input与label各自放在八竿子打不着的地方,但依然彼此关联——多么忠贞而催人泪下的爱情啊!