您现在的位置是:网站首页> 编程资料编程资料
CSS美化 input type=file 兼容各个浏览器文件上传input file简便美化方案(css)css input[type=file] 样式美化(input上传文件样式 )
2021-09-07
652人已围观
简介 在日常重构中,form表单家族中的 upload field 在使用 css 美化时令人头疼!默认情况下,各个浏览器下的表现层次不齐,很是郁闷,于是本人搜集整理了一些常用技巧,需要了解的朋友可以参考下
在日常重构中,form表单家族中的 upload field 在使用 css 美化时令人头疼!默认情况下,各个浏览器下的表现层次不齐!如下图所示,让我等情何以堪。
通常,我们的设计师同学、产品同学都希望文件上传域能够在表现上有所突破:点击页面中美化过的图片“选择文件”就可以完美实现文件上传域的功能。唉,理想很丰满,现实很骨感!每当我接到这样的要求就会泪流满面,加图片容易,但它无法工作啊!
好吧,苦逼的前端开始想办法了:用JS去模拟,貌似这个可行!
但是如果用户禁用脚本呢?唉,能否有一个简单的处理方式呢?
经过一番试验,重构组的同学想到一个方案,哈哈,纯CSS实现,代码很简单的哦。
方案如下:
默认情况下,浏览器中的芙蓉姐姐(文件上传域)是这个样子的:
美化后呢?哎呦喂,经过重构后的芙蓉脱胎换骨哦!
好啦,不卖关子了,上代码。
HTML
CSS
*{margin:0;padding:0;}
a{text-decoration:none;}
.btn_addPic{
display: block;
position: relative;
width: 140px;
height: 39px;
overflow: hidden;
border: 1px solid #EBEBEB;
background: none repeat scroll 0 0 #F3F3F3;
color: #999999;
cursor: pointer;
text-align: center;
}
.btn_addPic span{display: block;line-height: 39px;}
.btn_addPic em {
background:url(http://p7.qhimg.com/t014ce592c1a0b2d489.png) 0 0;
display: inline-block;
width: 18px;
height: 18px;
overflow: hidden;
margin: 10px 5px 10px 0;
line-height: 20em;
vertical-align: middle;
}
.btn_addPic:hover em{background-position:-19px 0;}
.filePrew {
display: block;
position: absolute;
top: 0;
left: 0;
width: 140px;
height: 39px;
font-size: 100px; /* 增大不同浏览器的可点击区域 */
opacity: 0; /* 实现的关键点 */
filter:alpha(opacity=0);/* 兼容IE */
}
现在我们来看看浏览器中的表现是否一致呢?
给力哦!
最近有朋友反馈:在不同浏览器下,文件上传域的可点击范围大小不一。 针对此问题,我们可以对 input file 设置一个较大的字号 以此达到提高可用性的目的。
但是,新问题来了,不同浏览器下,当鼠标进入可点击范围时鼠标的形状(cursor)又各不相同,即便设置 cursor:pointer; 也不管用!苦逼的前端,继续测试吧!
相关内容
- 纯CSS3实现地球自转实现代码(图文教程附送源码)css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 纯CSS3实现绘制各种图形实现代码详细整理CSS3的常见transformation图形变化用法小结纯CSS3绘制可旋转的太极图形样式效果源码CSS3绘制不规则图形的一些方法示例纯css3样式属性制作各种图形图标样式代码css3的图形3d翻转效果应用示例基于jquery+css3实现的Tabs带图形按钮选项卡切换css3.0 图形构成实例练习二css3.0 图形构成实例练习一基于CSS3的按钮图形 含有多种颜色风格 代码共享纯CSS3绘制各种不规则图形图标样式特效源码
- div 溢出隐藏 div文字溢出用点(省略号)代替设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- Firebug 调试器Web开发者应掌握12个初级使用技巧设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- position:sticky用法介绍及浏览器兼容性CSS使用position:sticky 实现粘性布局的方法position:sticky 粘性定位的几种巧妙应用详解
- CSS权重关系及问题剖析CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS3的文字阴影—text-shadow的使用方法CSS3实现的渐变幻灯片效果css3中less实现文字长阴影(long shadow)详解CSS3的图层阴影和文字阴影效果使用css文字阴影渐渐模糊效果的实现
- 旋转任意角度 如何让div旋转一定的角度设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- css后代选择器和子选择器的区别介绍CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- li标签的position:absolute与relative案例应用