input[type=file]样式更改以及图片上传预览

  以前知道input[type=file]可以上传文件,但是没用过,今天初次用,总感觉默认样式怪怪的,想修改一下,于是折腾了半天,总算是小有收获。

  

  以上是默认样式,这里我想小小的修改下:

  HTML代码如下:

<form action="" name="file" class="file">
    上传文件<input type="file" id="img" name="img">
</form>

  

  css代码如下:

<style>
    .file{
	width: 75px;
        height: 25px;
	line-height: 25px;
	text-align: center;
	background-color: green;
	position:relative;
    }
    .file input{
	width: 75px;
        height: 25px;
	opacity:0;
	filter:alpha(opacity=0);
	position:absolute;
	left:0;
	top:0;
    }
</style>        

  

  更改后,效果如下(样式很丑,这里主要是阐述下怎么更改input[type=file]默认样式的)

  

 

  下面来说下使用input[type=file]上传图片实现预览效果的。

  

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		.file{
		   width: 75px;
		    height: 25px;
		    line-height: 25px;
		    text-align: center;
		   background-color: green;
		   position:relative;
		}
		.file input{
		   width: 75px;
		    height: 25px;
		   opacity:0;
		   filter:alpha(opacity=0);
		   position:absolute;
		   left:0;
		   top:0;
		}
	</style>
</head>
<body>
	<form action="" name="file" class="file">
		上传文件
		<input type="file" id="img" name="img">
	</form>
	<div id="dd"></div>
	<script>
		var file = document.getElementById("img");
		file.onchange = function(){  // 文本框内容改变时触发
			var files = this.files; // 获取文件的数量
			for(var i=0;i<files.length;i++){
				readers(files[i])
			}
		}
		function readers(fil){
			var reader = new FileReader();  // 异步读取存储在用户计算机上的文件
			reader.readAsDataURL(fil); // 开始读取指定的Blob对象或File对象中的内容
			reader.onload = function(){
				document.getElementById("dd").innerHTML += "<img src='"+reader.result+"'>";  // 添加图片到指定容器中
			}; 
		}
	</script>
</body>
</html>

  

 

转载于:https://www.cnblogs.com/jf-67/p/8060042.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值