博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
input上传图片改变样式
阅读量:3935 次
发布时间:2019-05-23

本文共 1257 字,大约阅读时间需要 4 分钟。

上传图片直接使用<input type="file">的话,样式会比较难看:

  

1552828133(1)

接下来介绍两种改变样式的方法:

方法一:将原生的input样式设为透明,改变css,js不变
.img {
width: 80px; height: 80px; border: 1px solid rgb(143, 59, 59); }.btn-box {
position: relative; }.file-ipt {
position: absolute; left: 0; top: 0; opacity: 0; //将input设为透明 }.btn {
width: 100px; height: 30px; background-color: skyblue; color: white; margin-right: 80px; border: none; border-radius: 10px; }

在这里插入图片描述

方法二:将原生的input样式设为display:none,通过点击按钮事件再触发input的change事件
.img {
width: 80px; height: 80px; border: 1px solid rgb(143, 59, 59); }.file-ipt {
display: none; }.btn {
width: 100px; height: 30px; background-color: skyblue; color: white; margin-right: 80px; border: none; border-radius: 10px; }
两种方法都可以实现,但是推荐方法一,更简单方便一些,也不容易出现bug,在js动态渲染数据时,直接在input标签内添加onchange事件即可
 function uploadImg(file){    if (file.files && file.files[0])    {	    var img = document.getElementById('img');	    var reader = new FileReader();		reader.readAsDataURL(file.files[0]);	    reader.onloadend = function(e){	    	img.src = e.target.result;	    }        }}

转载地址:http://lzrgn.baihongyu.com/

你可能感兴趣的文章
3个线程每个线程只能打印自己的名字,在屏幕上顺序打印 ABC,打印10次
查看>>
如何在高并发分布式系统中生成全局唯一Id
查看>>
devStore--移动互联各阶段相关资源
查看>>
struts中的cookie登陆
查看>>
spring mvc 框架搭建及详解
查看>>
20个开发人员非常有用的Java功能代码
查看>>
js判断pc还是mobile访问
查看>>
FTP读取文件及防止防火墙自动挂起设置
查看>>
java导出excel07
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
Dubbo与Zookeeper、SpringMVC整合和使用
查看>>
sql查询优化
查看>>
mysql乐观锁总结和实践(含demo例子)
查看>>
mysql悲观锁总结和实践
查看>>
IO操作中关闭流的注意点(多个关闭时的异常需要单独处理)
查看>>
java中io读写时流的关闭注意,代码查错
查看>>
redis针对不同场景进行相关的策略的记录,临时未代码实现
查看>>
MySQL事务隔离级别详解
查看>>
dubbo使用经验及实现原理简单介绍(转载)
查看>>
jvm虚拟机优化以及案例(转载)
查看>>