首页 新闻 会员 周边

input file在safari的兼容问题

0
[待解决问题]

input file在不使用自带样式的情况下,将input标签隐藏,用label标签代替点击弹框,测试了两种方法(只考虑现代浏览器):

1.方法一:将input标签透明度改为零(不考虑定位覆盖问题,这里作简单测试)

<div>
    <label for="file" style="display:block;width:300px;height:50px;background-color:yellow;text-align:center;line-height:50px;font-size:20px;cursor:pointer;">本地上传</label>
    <input type="file" name="file" id="file" style="opacity:0;">
</div>

结果:测试浏览器:edge,firefox,chrome,safari,opara,都可以打开上传文件的弹窗,但是,safari会有一次闪弹框,然后在另一处再弹出弹框,实际上看到了两个弹窗,最终显示一个;

2.方法二:将input标签display:none;

<div>
    <label for="file" style="display:block;width:300px;height:50px;background-color:yellow;text-align:center;line-height:50px;font-size:20px;cursor:pointer;">本地上传</label>
    <input type="file" name="file" id="file" style="display:none;">
</div>

结果:测试浏览器同上,其他浏览器正常,问题依然在safari,只不过这次没有弹窗,点击label标签没反应。

不知道引起这个现象的原因是什么,来此请教。

大雄的必杀技的主页 大雄的必杀技 | 菜鸟二级 | 园豆:202
提问于:2016-11-15 17:31
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册