表单[form]大攻略第二辑——关于label的补充

label的一个坑,你们肯定不知道【我瞎猜的】

首先,科普一下label和input的关系

1.隐式关联——即用for和id互相关联

<div class="password">
    <label for="password">密码</label>
    <input type="password" name="password" id="password" placeholder="请输入密码">
</div>

注意:label的for属性的值和input的id属性的值是一致的
ok,现在我们点击【密码】,password文本框直接就可以转换为可输入状态,增强了用户体验——这就是label和input关联的作用。
将password替换为其它input标签也可以有类似效果

2.显式关联——即用input内嵌于label实现关联

<div class="password">
    <label>密码
    <input type="password" name="password" placeholder="请输入密码">
    </label>
</div>

注意:此时label不再需要让for属性与input的id一致也可实现【隐式关联】的效果。

OK,今天要填的坑就和它们之间的【关联】有关

上面的例子里,都只有一个input。
如果在显式关联里,你在label里内嵌了多个input,会发生什么呢?

<div class="hobby2">
    <label>优点
        <input type="checkbox" name="hobby2" value="shuaiqi">帅气
        <input type="checkbox" name="bobby2" value="duojin">多金
        <input type="checkbox" name="bobby2" value="youcaihua">有才华
    </label>
</div>

点击查看代码演示
你点击 优点 字符——第一个复选框被选中
你点击 多金 字符——第一个复选框被选中
你点击 有才华 字符——第一个复选框又被选中

为什么呢?

因为这个时候,三个input都在label标签范围内,而input后跟随的字符此时都是label标签的字符,所以点击它们都会触发label的【显式关联】,而显式关联默认关联第一个内嵌的第一个标签——即[<input type="checkbox" name="hobby2" value="shuaiqi">]。

总结

我们可以总结出一个很容易被忽略的事情
内嵌标签
一定要注意!!在子元素外的字符都是属于父元素的!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,320评论 1 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 1.form表单有什么作用?有哪些常用的input 标签,分别有什么作用? HTML 表单用于接收不同类型的用户输...
    大胡子歌歌阅读 924评论 0 1
  • 龙泉。溪水潺潺,自泰山之巅哩哩啦啦滴下来,从山涧小溪聚成溪流,汇到龙泉,约莫就形成第一个水泊。绿悠悠的水面,清澈见...
    邱不语阅读 590评论 0 1
  • 一位名叫巧克力的姑娘,大学毕业后开始了她的第一份感情.这个姑娘奉行的原则是一辈子只好好的谈一次恋爱然后结婚!这个姑...
    优雅丽清新阅读 405评论 2 2