以前知道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>

  

input[type=file]样式更改以及图片上传预览的更多相关文章

  1. html,图片上传预览,input file获取文件等相关操作

    input file常用方法: var obj=document.getElementById("upimage"); var file=obj.files[0];//获取文件数据 ...

  2. 12-tinyMCE文本编辑器+图片上传预览+页面倒计时自动跳转

    文本编辑器插件:1.将tinymce文件夹全部复制到webContent下2.tinymce/js目录下放 jquery等三个js文件3.语言包:tinymce/js/tinymce/langs目录下 ...

  3. js:s上次预览,上传图片预览,图片上传预览

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 模拟QQ心情图片上传预览

    出于安全性能的考虑,目前js端不支持获取本地图片进行预览,正好在做一款类似于QQ心情的发布框,找了不少jquery插件,没几个能满足需求,因此自己使用SWFuplad来实现这个图片上传预览. 先粘上以 ...

  5. js实现图片上传预览及进度条

    原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...

  6. 兼容好的JS图片上传预览代码

    转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http:/ ...

  7. Jquery图片上传预览效果

    uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...

  8. [前端 4] 使用Js实现图片上传预览

    导读:今天做图片上传预览,刚开始的做法是,先将图片上传到Nginx,然后重新加载页面才能看到这个图片.在这个过程中,用户一直都看不到自己上传的文件是什么样子.Ps:我发现我真的有强迫症了,都告诉我说不 ...

  9. Javascript之图片上传预览

    使用Javascript之图片上传预览,我们无需上传到服务器中,兼容所有浏览器. 关键方法是使用微软库filter:progid:DXImageTransform.Microsoft.AlphaIma ...

随机推荐

  1. php-删除非空目录

    function deldir($path){ if(!is_dir($path)){ return false; } $dh = opendir($path); while(($file = rea ...

  2. vue入坑总结

    1.Do not mount Vue to <html> or <body> - mount to normal elements instead. Vue2.x之后不推荐挂载 ...

  3. Git_学习_03_ ignore文件配置

    一.示例 # 1.Compiled class file *.class bin target # 2.Log file *.log logs # 3. Package Files # *.war * ...

  4. js构建函数,点击按钮显示div,再点击按钮或其他区域,隐藏div

    这只是一个例子,先看看效果: html代码: <nav> <span class="nav_logo"></span> <h1>云蚂 ...

  5. SQLSERVER 远程登录18456错误

    此文为转载:   我是这么解决的: 1.以windows验证模式进入数据库管理器. 第二步:右击sa,选择属性: 在常规选项卡中,重新填写密码和确认密码(改成个好记的).把强制实施密码策略去掉. 第三 ...

  6. Nginx集群及代理的应用

    目录 1       大概思路... 1 2       了解Nginx及文档资源... 1 3       Nginx命令模块及进程结构... 2 4       解读Nginx配置... 3 5  ...

  7. 【Java框架型项目从入门到装逼】第四节 - 编写第一个Servlet程序

    在开始这一节之前呢,我们还需要把Tomcat配置到Eclipse中,配置的方式很简单,打开Eclipse,Window,Preferences,进入到这个页面: 将Tomcat的安装目录配置到Ecli ...

  8. Python:名片管理系统

    字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...

  9. oracle之 dblink 报ORA-03113 TNS-12543

    -- 客户端使用含 dblink sql报错( 症状:当数据库使用dblink访问其他数据库时,第一次执行某条dblink sql大多数情况下可以成功,偶尔执行一段时间后报错.如果该会话空闲二十分钟以 ...

  10. linux系统的磁盘空间限制的两种方法

    最近在搞VPS,要用到磁盘的限额,在网上找了一些相关的资料,总结起来,有两个方法能实现,一是用quota,另外一种是限制目录大小,下面我就将这两种方法写出来,与大家一起分享! 首先我们来看第一种方法, ...