您现在的位置是:网站首页> 编程资料编程资料
文件上传input file简便美化方案(css)css input[type=file] 样式美化(input上传文件样式 )基于jQuery+CSS3实现带动画效果文件上传插件特效源码HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)利用label标签和CSS美化文件上传表单(不兼容IE6)css 表单上传文件的“浏览”按钮修改使用css画一个文件上传图案
2021-09-07
1609人已围观
简介 文件上传input在各个浏览器里表现形式都不一样,这里通过css样式控制,尽量在多浏览器中的表现都一样
文件上传input在各个浏览器里表现形式都不一样:
ie6
ie7,8,9
ff
chrome
这里介绍一种简单实用的,在各种浏览器下表现一致的美化方法,效果如下:
ie6无法美化,只能应用部分效果,如下:
选择文件后(以ff为例,不用浏览器显示的路径不同):
html代码:
复制代码
代码如下:css代码:
复制代码
代码如下:body{
font-size: 12px;
text-align: left;
}
.input-text{
height: 23px;
width: 315px;
line-height: 23px;
vertical-align: middle;
background: #FAFBFD;
border:1px solid #d4d4d4;
}
.link-btn{
width: 78px;
height: 25px;
display: inline-block;
line-height: 25px;
text-align: center;
vertical-align: middle;
background: url('./images/btn.png') 0 -110px;
color: #6d767f;
text-decoration: none;
}
.file-uploader-wrap{
position: relative;
width: 405px;
height: 27px;
margin-top: 20px;
}
.file-uploader-wrap-fake{
position: absolute;
top: 0;
left: 0;
z-index: 1;
height: 27px;
_display : none;
}
.file-uploader-wrap .file-uploader{
position: relative;
width: 400px;
height: 27px;
text-align: right;
filter : alpha(opacity = 0);
opacity: 0;
z-index: 2;
cursor: pointer;
_filter : none;
_text-align : left;
_line-height : 27px;
}
js代码:
复制代码
代码如下:window.onload = function(){
var fileUploader = document.getElementById('FileUploader');
var pathDisplayer = document.getElementById('PathDisplayer');
if(fileUploader.addEventListener){
fileUploader.addEventListener('change', fileUploaderChangeHandler, false);
}else if(fileUploader.attachEvent){
fileUploader.attachEvent('onclick', fileUploaderClickHandler);
}else{
fileUploader.onchange = fileUploaderChangeHandler;
}
function fileUploaderChangeHandler(){
pathDisplayer.value = fileUploader.value;
}
function fileUploaderClickHandler(){
setTimeout(function(){
fileUploaderChangeHandler();
}, 0);
}
}
在样式方面,采用的是将上传input设置为透明,并且置于文本框和选择文件按钮之上的方法。
.file-uploader中的text-align:right样式是为了将file input置于右边,从而使点击选择文件按钮时可以点击到file input。
js主要作用是选择文件后将路径显示在文本框中。
- ie7,8只支持file input的click事件,在点击file input时触发,然后利用ie7,8中选择文件对话框出现时会阻断setTimeout的原理,在选择文件后获取file input的值。由于ie6中文件选择对话框并不能阻断setTimeout,无法在选择文件后及时获取到文件路径,所以无法对ie6进行美化。ie9既支持click事件,也支持change事件。ff和chrome只支持change事件,change事件在文件选择之后触发。
选择文件后,就可以进行同步或者异步的文件上传了。
相关内容
- css固定宽度并且让最后一行文字换行CSS控制文字换行、裁剪css控制文字自动换行的实现方法html、css 禁止文字自动换行属性word-breakdiv+CSS设置一行内文字超过宽度不换行且不显示截断文字加...css 解决英文字符与阿位伯数字自动换行 css是如何实现在页面文字不换行、自动换行、强制换行的方法
- 关于Chrome浏览器字体显示的太小不一的bug处理Win7下Chrome字体渲染颜色太淡颜色不够黑的解决方法解决中文版Chrome下网页不能显示小于12px字体Chrome的最小字体12px限制最终解决办法
- ie下的css层叠z-index各种问题详细整理
- css3强大的动画效果animate使用说明及浏览器兼容介绍Animate.css拥有多款文字特效的css3动画库效果源码基于css3 animate制作绚丽的动画效果
- css 背景透明 元素(标签)背景透明的css设计详解XML中的标签与元素的使用div标签中的元素margin-top失效的解决方法HTML5在a标签内放置块级元素示例代码HTML标签及基本元素学习总结HTML中的标签和元素的区别详解标签 li 是不是块级元素分析HTML元素(标签)大全及使用介绍HTML 元素 标签教程元素绝对定位以后设置了高宽,a标签不能点击的原因及解决方法
- 8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- div背景定位background设置元素的背景参数用滤镜实现背景图片的拉伸效果代码css 如何让背景图片拉伸填充避免重复显示CSS背景图拉伸效果兼容FF/Chrome/IE等主流浏览器(亲测)table自动拉伸在chrome与IE中的兼容性问题解决按钮在IE中两边被拉伸的 BUGCSS background属性(背景属性)详解对背景图定位中background-position属性的自我理解css3实现背景图片拉伸效果像桌面壁纸一样
- css中伪类:after的用法(三种方式)css a标签的visied伪类失效原因介绍a标签的四个css伪类(link、visited、hover、active)样式理解css伪类伪元素域高级选择器的介绍应用before/after伪类时如何CSS命名以及针对ie6/ie7浏览器兼容ie6不支持hover ie6 标签(除a标签)不支持伪类:hover解决方案CSS中a标签样式的“爱恨”原则:定义链接样式的四个伪类有关于a标签的4个伪类的使用方法a标签伪类的作用及书写顺序是什么
- 用css3制作纸张效果(外翻卷角)
- CSS3 制作绽放的莲花采用效果叠加实现jQuery/CSS3实现的可折叠侧边栏菜单特效源码椭圆形CSS3下载提示动画按钮效果代码CSS3制作了一个动画导航效果(鼠标悬浮会放大)css3 loading css3技术实现5款不同风格的网页loading加载动画案例css3气泡 css3关键帧动画创建的动态通知气泡如何使用html5与css3完成google涂鸦动画CSS3 实现侧边栏展开收起动画