建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > div+css > 怎么利用label标签制作表单

怎么利用label标签制作表单

时间:2015-09-24 08:46:39  来源:免费模板网 作者:风雪 阅读次数 tags表单label

下面分享一个利用label标签和CSS美化文件上传表单,但是不兼容ie6哦,如果要兼容ie6需要使用js来操作

文件上传类型表单<input type=”file” />是一个让很多前端开发者纠结过的表单类型,因为它是一个无法单纯用CSS给它定义兼容的样式。上周的工作中有个批量上传图片的页面,又遇到了这个问题,于是,今天把我的解决方案奉献给大家:利用label标签与CSS共同打造一个样式可控的并兼容IE6之外主流浏览器的上传表单。
实现思路通俗易懂:

首先,我们要新增一个与file相册大小的button按钮,然后利用label为初始的file类型表单定义标注(关于label的解释与用法,此处不详解,不了解的请自行查阅HTML手册)。如此一来,一个可以触发选择文件表单的按钮就出来了。接下来,相信很多人都知道怎么做了。
有了一个可以触发file表单的按钮,只要通过绝对定位将file表单从文档流中拖出,然后用z-index属性将它的层级提升到比button按钮高,同时将file表单的透明度置为0,这样一来,file表单就正好覆盖在button按钮上了,并且可触发选择文件表单。此处有一点需要说明,FireFox中是无法通过width来设定宽度值的,所以需要用input的size值来设定file表单宽度值。
最后,附上样例中的成型代码:

 代码如下  
<DIV class=btns>
<INPUT id=input_file_molding class=btn_file_molding size=6 type=file>
 <LABEL for=input_file_molding>
<INPUT value=添加照片 type=button></LABEL>
</DIV>

CSS代码:

 代码如下  

.btns{position:relative}
.btns input{width:120px;height:30px}
.btns .btn_file_molding{position:absolute;left:0;top:0;z-index:1;border:0 none;filter:alpha(opacity=0);opacity:0}/*file的z-index要大于button*/

 代码如下  

<!--DEMO start-->
<div id="demo">

<h5>利用label标签和CSS美化文件上传表单---初始</h5>
<div class="btns">
 <input type="file" id="input_file" />
 <label for="input_file"><input type="button" value="添加照片" /></label>
</div>


<h5>利用label标签和CSS美化文件上传表单---演变</h5>
<div class="btns">
 <input type="file" class="btn_file_evolve" id="input_file_evolve" />
 <label for="input_file_evolve"><input type="button" value="添加照片" /></label>
</div>


<h5>利用label标签和CSS美化文件上传表单---成型</h5>
<div class="btns">
 <input type="file" size="6" class="btn_file_molding" id="input_file_molding" />
 <label for="input_file_molding"><input type="button" value="添加照片" /></label>
</div>

</div>
<!--DEMO end-->


几个注意的细节:
1.file表单与button按钮的高宽一定要相同;
2.因各浏览器对file表单的表现不一致,其边框一定要隐藏掉,以免出现各浏览器不兼容问题;
3.firefox中直接通过样式定义width是无效的,需要用size设置file宽度;
4.IE6可用JS为button绑定file表单的点击事件,此处不详述。

本文地址:https://www.freemoban.com/bjrm/2015/0924/2485.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!