CSS
画一个方框和一个按钮
绑定按钮的点击事件为触发file的点击事件
把file的onchange事件返回的文件名称设置到第一个方框里
以jquery为例
$("#btn").bind("click", function(e){
$("#file").trigger("click");
return false;
});
$("#img-file").bind("change", function(){
//设置取到的文件名至第一个box
});
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>file</title><style type="text/css">*{margin:0;padding:0;}body{font-size:12px; color:#333;}.box{margin:100px auto; width:400px; overflow:hidden; zoom:1;}.i-txt{width:320px; height:28px; line-height:28px; border:1px solid #eaeaea; float:left;}.i-file{ position:absolute; opacity:0; width:100%; height:100%; left:0; top:0;}.btnbox{ position:relative; float:right; background:url(btn.jpg) no-repeat; width:60px; height:30px;}</style></head><body><div class="box"> <input type="text" class="i-txt" /> <div class="btnbox"> <input type="file" class="i-file" /> </div> </div></body></html>
.i-file{ position:absolute; opacity:0; filter:Alpha(opacity=0); width:100%; height:100%; left:0; top:0;} 加多一句,兼容ie filter:alpha(...)
.messageTxt span.fileInputContainer{background:url(images/这里改成你自己的图片.jpg) no-repeat 0 8px;position:relative;width:57px;}
.fileInput{height:24px;overflow: hidden;font-size:300px;position:absolute;right:0;top:0;opacity: 0;filter:alpha(opacity=0);cursor:pointer;}
多谢各位的帮忙