实际上,它可以在纯CSS中完成,这很容易...
HTML代码
<label class="filebutton">
Browse For File!
<span><input type="file" id="myfile" name="myfile"></span>
</label>
CSS样式
label.filebutton {
width:120px;
height:40px;
overflow:hidden;
position:relative;
background-color:#ccc;
}
label span input {
z-index: 999;
line-height: 0;
font-size: 50px;
position: absolute;
top: -2px;
left: -700px;
opacity: 0;
filter: alpha(opacity = 0);
-ms-filter: "alpha(opacity=0)";
cursor: pointer;
_cursor: hand;
margin: 0;
padding:0;
}
想法是将输入内容完全定位在标签内。将输入的字体大小设置为较大的字体,这将增加“浏览”按钮的大小。然后,需要使用负的left / top属性将输入浏览按钮放置在标签后面,这需要反复试验。
定位按钮时,将alpha设置为1。完成后将其重新设置为0(这样您就可以看到自己在做什么!)
确保跨浏览器进行测试,因为它们都会使输入按钮的尺寸略有不同。