点评:如果可以不要看到路径,只显示自定义按钮,另有其方法,下面只是用用了css的技巧来实现,这里可以看出来css是多么的强大啊
以前写过这样的文章但是用了js脚本,优点是可以显示文件路径。TyCHTML5中文学习网 - HTML5先行者学习网
如果可以不要看到路径,只显示自定义按钮,另有其方法,下面只是用用了css的技巧来实现。TyCHTML5中文学习网 - HTML5先行者学习网
关键是给file文件域给了font-size,设置一个比较大的值,使其表单大写发生改变(各浏览器外观不同,但大写都改变了)如下图:TyCHTML5中文学习网 - HTML5先行者学习网
input{font-size:100px;}TyCHTML5中文学习网 - HTML5先行者学习网
TyCHTML5中文学习网 - HTML5先行者学习网
再用position定位,和透明度达到自己想要的效果。具体代码如下:TyCHTML5中文学习网 - HTML5先行者学习网
TyCHTML5中文学习网 - HTML5先行者学习网
.fileInputContainer{TyCHTML5中文学习网 - HTML5先行者学习网
height:256px;TyCHTML5中文学习网 - HTML5先行者学习网
background:url(http://files.jb51.net/file_images/article/201212/2012122514125641.png);TyCHTML5中文学习网 - HTML5先行者学习网
position:relative;TyCHTML5中文学习网 - HTML5先行者学习网
width: 256px;TyCHTML5中文学习网 - HTML5先行者学习网
}TyCHTML5中文学习网 - HTML5先行者学习网
.fileInput{TyCHTML5中文学习网 - HTML5先行者学习网
height:256px;TyCHTML5中文学习网 - HTML5先行者学习网
overflow: hidden;TyCHTML5中文学习网 - HTML5先行者学习网
font-size: 300px;TyCHTML5中文学习网 - HTML5先行者学习网
position:absolute;TyCHTML5中文学习网 - HTML5先行者学习网
right:0;TyCHTML5中文学习网 - HTML5先行者学习网
top:0;TyCHTML5中文学习网 - HTML5先行者学习网
opacity: 0;TyCHTML5中文学习网 - HTML5先行者学习网
filter:alpha(opacity=0);TyCHTML5中文学习网 - HTML5先行者学习网
cursor:pointer;TyCHTML5中文学习网 - HTML5先行者学习网
}TyCHTML5中文学习网 - HTML5先行者学习网
TyCHTML5中文学习网 - HTML5先行者学习网TyCHTML5中文学习网 - HTML5先行者学习网
<div class="fileInputContainer">TyCHTML5中文学习网 - HTML5先行者学习网
<input class="fileInput" type="file" name="" id="" />TyCHTML5中文学习网 - HTML5先行者学习网
</div>TyCHTML5中文学习网 - HTML5先行者学习网
DEMO:TyCHTML5中文学习网 - HTML5先行者学习网