iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >input file上传文件样式支持html5的浏览器解决方法
  • 816
分享到

input file上传文件样式支持html5的浏览器解决方法

2024-04-02 19:04:59 816人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关input file上传文件样式支持HTML5的浏览器解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

这篇文章将为大家详细讲解有关input file上传文件样式支持HTML5的浏览器解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

最近在使用画布处理图像像素时用到了file上传控件,发现了file上传控件的两个兼容性问题。一个是file上传控件在火狐下无法通过CSS改变width,另一个是file上传控件在不同的浏览器下的外观和行为都不一样。

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

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

代码如下:


<div id="file">
<input type="text" value="未选择文件" /><input type="button" value="浏览" /><input type="file" />
</div>


然后是css部分的代码。

代码如下:


#file {
position:relative;
width:226px;
height:25px;
border:1px #99f solid;
}
#file input {
font-size:16px;
margin:0;
padding:0;
position:relative;
vertical-align:middle;
outline:none;
}
#file input[type="text"] {
border:3px none;
width:172px;
z-index:4;
}
#file input[type="button"] {
width:54px;
height:25px;
z-index:2;
}
#file input[type="file"] {
position:absolute;
right:0px;
height:25px;
opacity:0;
z-index:3;
}


最后javascript部分,用于把file上传控件获得的文件路径显示到可见的输入框里。

代码如下:


window.onload=function(){
var file=document.querySelector("#file input[type='file']");
var text=document.querySelector("#file input[type='text']");
file.addEventListener("change",assign,false);
function assign(){
text.value=file.value;
}
}


关于input file上传文件样式支持html5的浏览器解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: input file上传文件样式支持html5的浏览器解决方法

本文链接: https://www.lsjlt.com/news/83073.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • input file上传文件样式支持html5的浏览器解决方法
    这篇文章将为大家详细讲解有关input file上传文件样式支持html5的浏览器解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2024-04-02
  • HTML5浏览器支持的方法
    这篇文章主要介绍了HTML5浏览器支持的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML5浏览器支持的方法文章都会有所收获,下面我们一起来看看吧。   &...
    99+
    2024-04-02
  • 浏览器不支持javascript的解决方法
    这篇文章主要介绍浏览器不支持javascript的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浏览器不支持javascript的解决办法:首先打开【Internet选项】对话框,选择【安全】选项卡;然后单击...
    99+
    2023-06-14
  • ie浏览器不支持javascript的解决方法
    小编给大家分享一下ie浏览器不支持javascript的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ie浏览器不支持javascript的方法:首先打开...
    99+
    2023-06-14
  • 怎么让所有的浏览器都支持HTML5标签样式
    这篇文章主要介绍怎么让所有的浏览器都支持HTML5标签样式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 如今HTML5愈来愈引发大家的关注了,但目前支...
    99+
    2024-04-02
  • HTML5怎么测试浏览器是否支持Canvas的方法
    这篇文章主要介绍“HTML5怎么测试浏览器是否支持Canvas的方法”,在日常操作中,相信很多人在HTML5怎么测试浏览器是否支持Canvas的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • 浏览器中处理上传大文件——FileReader.readAsArrayBuffer()方法
    1.问题点 平常从客户端上传文件到服务器端,只需要读取 input 的 File 对象,然后将其塞到 FormData 对象中,然后使用 ajax 发送到服务器端,服务器端会有配套的读文件和写文件的操...
    99+
    2023-09-03
    javascript 服务器 开发语言
  • 浏览器网页无法上传图片的解决方法
    这篇文章主要为大家展示了“浏览器网页无法上传图片的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“浏览器网页无法上传图片的解决方法”这篇文章吧。方法/步骤:刷新浏览器,点击设置图标并选择“...
    99+
    2023-06-27
  • HTML5在浏览器下中文乱码问题的解决方法
    本篇内容介绍了“HTML5在浏览器下中文乱码问题的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 让网站支持老版本IE6、7、8、9浏览器的解决方法有哪些
    这篇文章主要讲解了“让网站支持老版本IE6、7、8、9浏览器的解决方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“让网站支持老版本IE6、7、8、9浏览器的解决方法有哪些”吧!htm...
    99+
    2023-06-08
  • php无法上传大文件的解决方法
    这篇“php无法上传大文件的解决方法”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php无法上传大文件的解决方法”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们...
    99+
    2023-06-06
  • 笔记本电脑打开ie浏览器提示对象不支持的解决方法
    这篇文章主要为大家展示了“笔记本电脑打开ie浏览器提示对象不支持的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“笔记本电脑打开ie浏览器提示对象不支持的解决方法”这篇文章吧。首先打开浏览...
    99+
    2023-06-28
  • ajax如何实现文件上传成功和解决浏览器兼容问题
    这篇文章主要为大家展示了“ajax如何实现文件上传成功和解决浏览器兼容问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ajax如何实现文件上传成功和解决浏览器...
    99+
    2024-04-02
  • Win8的IE10浏览器无法安装支付宝插件的原因及解决方法
      此前有不少用上Win8的用户表示,Win8的IE10浏览器无法安装支付宝插件,原因是浏览器“无法访问Windows SmartScreen筛选器”。这个问题不解决对广大生活中依赖支付宝的用户来...
    99+
    2023-06-06
    Win8 IE10 支付宝 插件 浏览器 原因
  • IE浏览器无法下载解决文件的教程
    随着互联网的普及,我们需要在互联网上下载越来越多的东西,但一些用户发现Win7系统IE浏览器无法下载文件,或者下载提示框在0%到99%之间不移动。事实上,解决IE浏览器无法下载文件问题非常简单。只需设置几个简单的步骤。在浏览器左上角打开IE...
    99+
    2023-07-24
  • php中不能上传大文件的解决方法
    这篇文章主要介绍php中不能上传大文件的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampSer...
    99+
    2023-06-15
  • 微信H5下载文件、微信浏览器无法下载文件解决方案
    手机端的微信访问网页的时候,是禁止直接下载文件的 但是IOS端可以预览.txt/.doc/.docx/.xls/xlsx/.pdf等格式的文件,Android端在下载这些格式的文件时,可以唤起 ‘即将离开微信,在浏览器打开’ 提示 所以,...
    99+
    2023-08-16
    微信 android
  • jQuery图片批量上传插件源码,支持批量上传、预览、删除、放大,可配置上传数量、上传大小、追加方式,含详细使用文档
    jQuery图片批量上传插件源码,支持批量上传、预览、删除、放大,可配置上传数量、上传大小、追加方式,含详细使用文档 程序包内含使用Demo 完整程序源代码:jQuery图片批量上传插件源码 上传前 ...
    99+
    2023-09-01
    jquery php javascript
  • 亚马逊服务器文件上传不了的解决方法
    1. 检查网络连接和服务器状态 首先,确保你的网络连接正常并且亚马逊服务器处于正常运行状态。你可以尝试访问其他网站或应用程序来确认你的网络连接是否正常。如果其他网站或应用程序也无法正常访问,那么问题可能是你的网络连接出了问题,你可以尝试重...
    99+
    2023-10-27
    亚马逊 解决方法 文件上传
  • vue中input标签上传本地文件或图片后获取完整路径的解决方法
    目录前言:解决办法:代码解释:前言: 好久没有写vue了。今天遇到一个需求:使用input框来上传图片类型,并且在选择之后立刻回显出来。使用< input type=&ldqu...
    99+
    2023-05-17
    vue获取完整路径 vue input标签上传文件
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作