关于input标签改变其样式问题

1.描述

最近在做vue的demo,用到上传文件的input 标签,发现它的样式和值只能读不能写(谁可以,请留言告诉我),这样会很丑,跟总体不搭配。列如这样子:

牛头不搭马嘴.jpg

2.解决

▓遮盖法:
☛原理:把input 标签放到一个div标签中,给这个div取名为up,再创建一个div,给这个div取名为under,然后把up放进under里面。这样,就可以用underdiv挡住updiv了,把underdiv设置成喜欢的样式。但是,有一个穿透问题,没事!没有什么是代码解决不了的,上码:(最后效果是导入excel那个按钮的效果)

<!-- html page -->
<div class="under" v-on:click="clickupload" >
            <i class="el-icon-folder-add" slot="prefix" style="color: white;margin-top: 8px;margin-left: 20px"> 导入Excel</i>
            <div class="up">
            <input id="impex" class="impex"  type="file" @change="importfxx(this)"
                 accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
            </div>
          </div>
<!-- 样式-->
.under{
    display: block;
    margin-top: 20px;
    margin-left: 30px;
    float: left;
    width: 150px;
    height: 35px;
    border-radius: 5px;
    background: #409EFF;
    border: #409EFF 1px solid;
  }
  .up{
    position: absolute;
    width: 150px;
    height: 35px;
    border-radius: 5px;
    background: red;
    border: red 0px solid;
    z-index: -1;
  }
  .impex{
    width: 150px;
    height: 35px;
    position: absolute;
    width: 150px;
    /*z-index: -1;*/
  }
  <!--穿透问题 underdiv的点击事件绑定clickupload(),点击underdiv之后触发 clickupload()方法 -->
  methods: {
    clickupload(){
      // alert(123)
      document.getElementById('impex').click()    //input标签被点击(曲线救国+_+)
    },
    importfxx(){
      alert(123)     /*  your code   上传文件后要对文件处理的代码  */
    }
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值