发表于: 2019-08-09 11:50:13

1 830


今天完成的事情

解决前天遗留的问题

如下图,当鼠标离开图示位置,则下方导航内容不出现,起不到导航作用

解决过程:今天上午自己摸索了两个小时都没搞定,后来请教了大佬,大佬让我使用input+lable来解决,最终完美解决

代码如下

<label for="menu">
<div class="daohang">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</label>
<input type="checkbox" class="bottom-menu" id="menu"></input>
<div class="home-page-wrap">
<div class="home-page-2">首页</div>
<div class="home-page-2">在线定制</div>
<div class="home-page-2">标准箱</div>
<div class="home-page-2">品质保证</div>
</div>

使用input中的checkbox,此时会生成一个勾选框,此时将其隐藏起来,然后使用<label> 标签的 for 属性,将自己制作的导航栏样式 <daohang>与<input>关联起来,最后为input设置hover效果来设置显示导航内容,最终当点击自己制作的导航条时,隐藏的导航内容就可以显示了。


今天的收获

label标签

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

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

主要使用场景

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

隐式关联

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

  <br>

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

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

</form>

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

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

 

今天遇到的问题

问题:如下图,再使用导航条的时候,出现了类似浮动脱离标准流的现象


解决:请教大佬后才知道是自己设定了固定高度导致的,后来取消固定高度,结合媒体查询完美解决,目前对快读高度的设定还不是很熟练




明天的计划

1.深入学了label标签,因为任务十下面的页面很多使用到此标签

2.了解下拉选择框怎么做出来

3.学习before和after伪元素



返回列表 返回列表
评论

    分享到