• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > input file上传文件样式支持html5的浏览器解决方案_html5教程技巧

input file上传文件样式支持html5的浏览器解决方案_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含样式,浏览器等相关知识,匿名希望在学习及工作中可以帮助到您
最近在使用画布处理图像像素时用到了file上传控件,发现了file上传控件的两个兼容性问题。一个是file上传控件在火狐下无法通过css改变width,另一个是file上传控件在不同的浏览器下的外观和行为都不一样。
下面是file上传控件在IE10,firefox16,chrome22,opera12,safari5.1.7里的截图:


在IE10里,双击输入框或者单击按钮都弹出文件选择框。在其他浏览器里单击输入框,按钮或文字都可以触发文件选择框。
鉴于这种混乱情况,有必要要统一样式和行为。下面是我的兼容性方案。
先看一下最终结果在各浏览器的截图:


基本思路:创建输入框和按钮模拟file上传控件。将file上传控件设置成透明。让file上传控件与用于模拟的按钮右对齐。修改元素的堆叠顺序,让按钮处于下面,file上传控件在中间,输入框在上面。在文件选择完毕后将file上传控件里的值赋给用于模拟的输入框。
原理:在不同的浏览器里,file上传控件的按钮的height都是可调的,而且file上传控件的右侧都是可以单击的。所以通过调节file上传控件的height,并调整file上传控件的位置(右对齐),可以让file上传控件的可单击区域与用于模拟的按钮完全覆盖。当file上传控件透明时用户单击用于模拟的按钮就触发了文件选择框。但同时file上传控件的堆叠顺序不能先于用于模拟的输入框,不然当用户将鼠标置于所见的输入框上时可能会看到光标不是指示文本而是为一个箭头(而且为一个箭头时单击会弹出文件选择框),用户将感到困惑。
实现:先看看html部分的代码。

欢迎留言交流或指正。

您可能想查找下面的文章:

  • Html5 audio标签样式的修改
  • HTML5样式控制示例代码
  • HTML5 canvas画矩形时出现边框样式不一致的解决方法
  • 使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
  • HTML5实现留言和回复的页面样式
  • 如何配置H5的滚动条样式的代码
  • HTML5实现留言和回复的页面
  • 怎么用CSS设置记录用户密码
  • 配置H5的滚动条样式
  • CSS3的default伪类选择器使用详解

相关文章

  • 2018-12-03一款带有发光动画的HTML5表单
  • 2018-12-03html5+css3实现一款注册表单实例_html5教程技巧
  • 2018-12-03如何在HTML5中使用SVG
  • 2018-12-03HTML5为输入框添加语音输入功能的实现方法
  • 2018-12-03Apple为什么不提供手机版官网?
  • 2018-12-03phonegap完成联系人查找功能的代码详解
  • 2018-12-03有支持M3U8格式的HTML5播放器吗?
  • 2018-12-03知乎盐Club2014的H5是如何制作的?
  • 2018-12-03html5使用html2canvas实现浏览器截图
  • 2018-12-03H5的各种错误用法总结

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5标准学习-文档结构详解
    • html5基础教程常用技巧整理
    • 小强的HTML5移动开发之路(1)——HTML介绍
    • html5 CSS过度-webkit-transition使用介绍_html5教程技巧
    • HTML5之Javascript多线程的详解
    • HTML5 表单验证失败的提示语问题
    • 7款外观迷人的HTML5/CSS3 3D按钮特效
    • 如何用SVG制作酷炫动态图标?(代码实例)
    • 扁平化的bootstrap
    • HTML5+CSS3模仿优酷视频截图功能示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有