关于label标签的作用
label标签的定义和用法:
<label> 标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
——W3school的解释
经常见到这样的表单元素,比如:点击一张图片可以重新更换图片,或者点击下图所示的复选框

之前我的做法是写一个input标签,设置type为file或者checkbox,设置大小为想要的大小,然后把想要的效果比如上图所示或者一个图片,放在input标签的下面,使input标签刚好可以覆盖住图片,
最后把input设置成visibility:hidden,所以此时点击的虽然是图片,但是实际上点击的是input框,这样造成的假象就是点击图片实现上传更新。(这样的实现是挺蠢的OTZ)
后来偶然了解到label标签的作用,才知道label元素和对应id的input元素是互相绑定的,也就是说点击label就相当于点击了input,那这样就好办了,就不需要营造假象了
所以现在代码可以这么写:
(1)复选框样式:
主要HTML代码:
<label class="demo">
<input type="checkbox" name="">
<i class="fa fa-check icon-selected"></i>
<em>多选框1</em>
</label>
主要CSS代码:
input{
display: none;
}
input:checked~em{
color: #c6636c;
border:1px solid #c6636c;
}
选中之前的样式和选中之后的样式

这样的用法就显得高级多啦
(2)上传图片样式:
HTML代码:
<label class="demo">
<p>点击上传图片</p>
<input type="file" name="">
<em></em>
</label>
CSS代码:
input{
display: none;
}
em{
display: inline-block;
width: 175px;
height: 173px;
background: url(./add.png);
}
点击下图所示的图片之后,便可以调用file文件实现图片的选择和上传,之后在进行其他操作

by 新手小白的记录
关于label标签的作用的更多相关文章
- label标签的作用
在用户注册的时候,常常用户点击文字就需要将光标聚焦到对应的表单上面,这个是怎么实现的呢?就是下面我要介绍的<label>标签的for属性 定义:for 属性规定 label 与哪个表单元素 ...
- react中label标签的作用
当我们点击输入内容触发input焦点的时候,就需要使用到label标签里的htmlFor属性来扩大点击的区域 代码如下:
- 转:label标签的特殊用法
容易被忽略的label标签 原始作用 label标签是HTML原生的标签,其原始的作用参考这里 label 标签为 input 元素定义标注(标记). label 元素不会向用户呈现任何特殊效果.不过 ...
- 容易被忽略的label标签
# 容易被忽略的label标签 ## 原始作用 `label`标签是HTML原生的标签,其原始的作用参考[这里](http://www.w3school.com.cn/tags/tag_label.a ...
- HTML——label标签
最近在做将input[type="file"] 改变其样式时,发现label的巨大潜力,特此记录一下. 1, label标签的作用 (1)为input元素定义标注(标记) (2)不 ...
- [HTML5]label标签使用以及建议
for 属性规定 label 与哪个表单元素绑定. 隐式和显式的联系 标记通常以下面两种方式中的一种来和表单控件相联系:将表单控件作为标记标签的内容,这样的就是隐式形式,或者为 <label&g ...
- a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
<a href="http://www.baidu.com/" target="_blank"> <span>百度</span&g ...
- form表单中的label标签
小伙伴们,你们在前面学习表单各种控件的时候,有没有发现一个标签--label,这一小节就来揭晓它的作用. label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性.如果你在 labe ...
- 第7天:input和label标签
今天学的不多,就只学了表单元素中的input和label标签.搬了房子,收拾了一下东西,太累了,所以没有学很多.明天还上班,今天就先到这. 一.input input标签type属性有以下几个:tex ...
随机推荐
- ECSHOP和SHOPEX快递单号查询顺丰插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- Hadoop(19)-MapReduce框架原理-Combiner合并
1. Combiner概述 2. 自定义Combiner实现步骤 1). 定义一个Combiner继承Reducer,重写reduce方法 public class WordcountCombiner ...
- python三大神器之生成器
生成器Generator: 本质:迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现) 特点:惰性运算,开发者自定义 在python中有三种方法来获取生成器: 1.通过生成 ...
- 第一天的题目 简单A+B 植树问题 多项式的值
#include<stdio.h> int main() { int a=0;b=0; scanf("%d%d",&a,&b); printf(&quo ...
- ADB工具的安装
1.Windows ADB工具下载地址: https://developer.android.google.cn/studio/releases/platform-tools ADB工具官网教程: h ...
- Python3爬虫(二)网络爬虫的尺寸与约束
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.网络爬虫的尺寸: 1.小规模,数据量小,爬取速度不敏感,Requests库,爬取网页 2.中规模,数据规模较大 ...
- dfs Gym - 100989L
AbdelKader enjoys math. He feels very frustrated whenever he sees an incorrect equation and so he tr ...
- 4 echo服务器
收到数据,给别人原封不动返回 #4. 将接收到的数据再发送给对方 udpSocket.sendto(recvData[0], recvData[1]) #coding=utf-8 from soc ...
- Extjs报错:isField为空或不是对象
在做Extjs开发的时候,有时候会碰到一个奇怪的问题,就是报错说"isField为空或不是对象",经过调试发现是一个数组,显示的长度是21,但是数组里面的个数只有 ...
- MySQL源码中的String
适用于离开作用域就销毁的字符串.