input[type="file"]的样式以及文件名的显示
如何美化input[type="file"]
基本思路是:
(1)首先在 input 外层套一个 div ;
(2)将 div 和 input 设置为一样大小(width和height);
(3)设置 div 为相对位置, input 为绝对位置,并将 input 的 top 和 right 设为 0 ;
这样, div 和 input 就重叠了,点击 div 就相当于点击 input ;
(4)设置 input 的 opacity 为 0 ,全透明,这样就只能看见 div 了;
至于 div 的样式就随便设置了。
html:
- <form action="#" enctype="multipart/form-data" method="post">
- <div class="fileupload">
- <script>
- function getFilename(){
- var filename=document.getElementById("file").value;
- if(filename==undefined||filename==""){
- document.getElementById("filename").innerHTML="点击此处上传文件";
- } else{
- var fn=filename.substring(filename.lastIndexOf("\\")+1);
- document.getElementById("filename").innerHTML=fn; //将截取后的文件名填充到span中
- }
- }
- </script>
- <span id="filename">点击此处上传文件</span>
- <input type="file" name="file" id="file" onchange="getFilename()"/>
- </div>
- </form>
css:
- /*文件上传*/
- .fileupload{
- position: relative;
- width:200px;
- height:35px;
- border:1px solid #66B3FF;
- border-radius: 4px;
- box-shadow: 1px 1px 5px #66B3FF;
- line-height: 35px;
- padding-left: 8px;
- overflow: hidden;
- }
- .fileupload input{
- position: absolute;
- width:200px;
- height:35px;
- right:;
- top:;
- opacity:;
- filter: alpha(opacity=0);
- -ms-filter: 'alpha(opacity=0)';
- }
注意:input[type="file"] 的文件路径是受保护的,用 js 获取不到,使用上传的插件可以获取到。(只是从前端的角度讲)
input[type="file"]的样式以及文件名的显示的更多相关文章
- 自定义input[type="file"]的样式
input[type="file"]的样式在各个浏览器中的表现不尽相同: 1. chrome: 2. firefox: 3. opera: 4. ie: 5. edge: 另外,当 ...
- html中,文件上传时使用的<input type="file">的样式自定义
Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多 ...
- input[type='file']默认样式
<input type="file" name="" id="" value="" /> 当input的ty ...
- html中input type=file 改变样式
<style> #uploadImg{ font-size:12px; overflow:hidden; position:absolute} #file{ position:absolu ...
- html input[type=file] css样式美化【转藏】
相信做前端的都知道了,input[type=file]和其他输入标签不一样,它的事件必须是在触发自身元素上,而不能是其他元素.所以不能简单的把input隐藏,放个button上去. <a hre ...
- input(type='file')上传多张照片并显示,传到后台
以下内容为网络摘抄和实践修改所得,如有雷同,请谅解!!!! 1.首先是前端页面代码: 其中,<input type="file" id="file_input&qu ...
- 对input type=file 修改样式
效果图先给: 在html中涉及到文件选择的问题,文件选择使用 input(class="filter_input form-control" type="file) 但是 ...
- input[type='file']样式美化及实现图片预览
前言 上传图片是常见的需求,多使用input标签.本文主要介绍 input标签的样式美化 和 实现图片预览. 用到的知识点有: 1.input标签的使用 2.filelist对象 和 file对象 3 ...
- 更改input【type=file】样式
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
随机推荐
- 如何将计算机加入域 分类: AD域 Windows服务 2015-06-10 11:04 63人阅读 评论(0) 收藏
在上一篇博客中我已经实现了windows server 2008 R2域中的DC部署,那么如何将计算机加入到我们部署的域环境中呢? (初级教程,step by step,不足之处欢迎批评指正!) 将计 ...
- Every write operation executed on a document, deletes included
Delete API | Elasticsearch Reference [6.5] | Elastic https://www.elastic.co/guide/en/elasticsearch/r ...
- php composer,update-ca-trust
安装 ComposerComposer 需要 PHP 5.3.2+ 才能运行. $ curl -sS https://getcomposer.org/installer | php这个命令会将 com ...
- 都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事
都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事 就用下面这段代码在jdk的三个版本运行看了下效果 import java.lang.reflect.Field; ...
- okhttp发送post请求
String url = "http://www.xxx.com/api/test"; OkHttpClient httpClient = new OkHttpClient(); ...
- 网络爬虫之scrapy框架详解
twisted介绍 Twisted是用Python实现的基于事件驱动的网络引擎框架,scrapy正是依赖于twisted, 它是基于事件循环的异步非阻塞网络框架,可以实现爬虫的并发. twisted是 ...
- Flask蓝图,Session,闪现,中间件等
Session 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设 ...
- ED3 flash 、OBP flash
海力士.东芝等ED3 NAND Flash ED3的TLC编程规则相对于OBP来讲会简单许多,因为ED3的编程规则非常有规律,很容易掌握,ED3的每个WL页数量是固定的. ED3在对行地址的定义上与O ...
- Linux服务器access_log日志分析及配置详解(二)
默认nginx / Linux日志在哪个文件夹? 一般在 xxx.xxx.xxxx.com/home/admin 路径下面的error.log文件和access.log文件error_log logs ...
- Vue组件的定义方式
1.使用template标签定义组件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...