美化input type="file"的样式

原理:将原来的样式隐藏,然后自己写css和js

html部分:

<div class="file-input">
  <p class="input-container">
    上传图片
    <input type="file" id="upload" accept="image/*" multiple>
  </p>
  <span id="name"></span>
</div>

css样式部分:

.file-input{
  line-height:30px;
  position:relative;
  margin-top:10px;
}
.file-input .input-container{
  width:100px;
  height:30px;
  text-align:center;
  background:#3879d9;
  color:#fff;
  border-radius:3px;
}
.file-input input{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
}
.file-input #name{
  position:absolute;
  left:100px;
  top:0;
  font-size:12px;
  color:#666;
}

js控制部分:

var upload=document.getElementById('upload');
var nameContainer=document.getElementById('name');


upload.onchange=function(){
  var name=[];
  for(var i=0;i<this.files.length;i++){
    name[i]= this.files[i].name;
    if(this.files[i].size>=307200){
      alert("文件"+this.files[i].name+"过大,不能超过300kb")
      }
  }
  nameContainer.innerHTML=name;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值