源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[CSS] CSS美化 input type=file 兼容各个浏览器

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2012-12-27 10:52:13 | 显示全部楼层 |阅读模式
在日常重构中,form表单家族中的 upload field 在使用 css 美化时令人头疼!默认情况下,各个浏览器下的表现层次不齐,很是郁闷,于是本人搜集整理了一些常用技巧,需要了解的朋友可以参考下

在日常重构中,form表单家族中的 upload field 在使用 css 美化时令人头疼!默认情况下,各个浏览器下的表现层次不齐!如下图所示,让我等情何以堪。

默认情况下input file 在不同浏览器中的表现

通常,我们的设计师同学、产品同学都希望文件上传域能够在表现上有所突破:点击页面中美化过的图片“选择文件”就可以完美实现文件上传域的功能。唉,理想很丰满,现实很骨感!每当我接到这样的要求就会泪流满面,加图片容易,但它无法工作啊!

好吧,苦逼的前端开始想办法了:用JS去模拟,貌似这个可行!

但是如果用户禁用脚本呢?唉,能否有一个简单的处理方式呢?

经过一番试验,重构组的同学想到一个方案,哈哈,纯CSS实现,代码很简单的哦。

方案如下

默认情况下,浏览器中的芙蓉姐姐(文件上传域)是这个样子的:

美化后呢?哎呦喂,经过重构后的芙蓉脱胎换骨哦!

好啦,不卖关子了,上代码。

HTML

复制代码代码如下:
<FORM><A class=btn_addPic href="javascript:void(0);"><SPAN><EM>+</EM>添加图片</SPAN> <INPUT class=filePrew title=支持jpg、jpeg、gif、png格式,文件小于5M tabIndex=3 type=file size=3 name=pic></A></FORM>

    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
    给力哦!
    最近有朋友反馈:在不同浏览器下,文件上传域的可点击范围大小不一。 针对此问题,我们可以对 input file 设置一个较大的字号 以此达到提高可用性的目的。

    但是,新问题来了,不同浏览器下,当鼠标进入可点击范围时鼠标的形状(cursor)又各不相同,即便设置 cursor:pointer; 也不管用!苦逼的前端,继续测试吧!

    回复

    使用道具 举报

    0

    主题

    1万

    回帖

    0

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    0
    发表于 2022-9-6 06:37:03 | 显示全部楼层
    看到这帖子真是高兴!
    回复 支持 反对

    使用道具 举报

    4

    主题

    1万

    回帖

    60

    积分

    注册会员

    Rank: 2

    积分
    60
    发表于 2023-8-14 22:22:08 | 显示全部楼层
    还可以不错
    回复 支持 反对

    使用道具 举报

    14

    主题

    1万

    回帖

    75

    积分

    注册会员

    Rank: 2

    积分
    75
    发表于 2023-8-21 03:19:12 | 显示全部楼层
    而非为吾问无为谓娃娃
    回复 支持 反对

    使用道具 举报

    0

    主题

    2万

    回帖

    0

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    0
    发表于 2023-8-28 07:46:35 | 显示全部楼层
    不错的源码论坛
    回复 支持 反对

    使用道具 举报

    9

    主题

    2万

    回帖

    420

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    420
    发表于 2023-9-2 10:56:27 | 显示全部楼层
    天天源码社区。。。。
    回复 支持 反对

    使用道具 举报

    2

    主题

    2万

    回帖

    473

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    473
    发表于 2024-4-10 21:06:30 | 显示全部楼层
    天天源码社区论坛
    回复 支持 反对

    使用道具 举报

    0

    主题

    2万

    回帖

    0

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    0
    发表于 2024-5-4 08:40:18 | 显示全部楼层
    笑纳了老板
    回复 支持 反对

    使用道具 举报

    2

    主题

    2万

    回帖

    381

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    381
    发表于 2024-5-13 03:58:53 | 显示全部楼层
    那三门,你们谁寂寞才快乐撒
    回复 支持 反对

    使用道具 举报

    0

    主题

    2万

    回帖

    55

    积分

    注册会员

    Rank: 2

    积分
    55
    发表于 2024-8-26 00:29:39 | 显示全部楼层
    我找了挺久终于找到了
    回复 支持 反对

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

    GMT+8, 2024-11-24 17:08 , Processed in 0.074833 second(s), 24 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表