php文件上传css,CSS_文件上传input file简便美化方案(css),文件上传input在各个浏览器里 - phpStudy...

本文介绍了一种CSS和JavaScript结合的策略,实现了在不同浏览器下文件上传input的统一美化,包括IE6-9、Firefox、Chrome等。通过透明input和事件处理,实现在选择文件后实时显示路径,特别关注了对IE6的兼容性处理。
摘要由CSDN通过智能技术生成

文件上传input file简便美化方案(css)

文件上传input在各个浏览器里表现形式都不一样:

ie6

ie7,8,9

ff

chrome

这里介绍一种简单实用的,在各种浏览器下表现一致的美化方法,效果如下:

ie6无法美化,只能应用部分效果,如下:

选择文件后(以ff为例,不用浏览器显示的路径不同):

html代码:

复制代码代码如下:

css代码:

复制代码代码如下:

body{

font-size: 12px;

text-align: left;

}

.input-text{

height: 23px;

width: 315px;

line-height: 23px;

vertical-align: middle;

background: #FAFBFD;

border:1px solid #d4d4d4;

}

.link-btn{

width: 78px;

height: 25px;

display: inline-block;

line-height: 25px;

text-align: center;

vertical-align: middle;

background: url('./images/btn.png') 0 -110px;

color: #6d767f;

text-decoration: none;

}

.file-uploader-wrap{

position: relative;

width: 405px;

height: 27px;

margin-top: 20px;

}

.file-uploader-wrap-fake{

position: absolute;

top: 0;

left: 0;

z-index: 1;

height: 27px;

_display : none;

}

.file-uploader-wrap .file-uploader{

position: relative;

width: 400px;

height: 27px;

text-align: right;

filter : alpha(opacity = 0);

opacity: 0;

z-index: 2;

cursor: pointer;

_filter : none;

_text-align : left;

_line-height : 27px;

}

js代码:

复制代码代码如下:

window.onload = function(){

var fileUploader = document.getElementById('FileUploader');

var pathDisplayer = document.getElementById('PathDisplayer');

if(fileUploader.addEventListener){

fileUploader.addEventListener('change', fileUploaderChangeHandler, false);

}else if(fileUploader.attachEvent){

fileUploader.attachEvent('onclick', fileUploaderClickHandler);

}else{

fileUploader.onchange = fileUploaderChangeHandler;

}

function fileUploaderChangeHandler(){

pathDisplayer.value = fileUploader.value;

}

function fileUploaderClickHandler(){

setTimeout(function(){

fileUploaderChangeHandler();

}, 0);

}

}

在样式方面,采用的是将上传input设置为透明,并且置于文本框和选择文件按钮之上的方法。

.file-uploader中的text-align:right样式是为了将file input置于右边,从而使点击选择文件按钮时可以点击到file input。

js主要作用是选择文件后将路径显示在文本框中。

ie7,8只支持file input的click事件,在点击file input时触发,然后利用ie7,8中选择文件对话框出现时会阻断setTimeout的原理,在选择文件后获取file input的值。由于ie6中文件选择对话框并不能阻断setTimeout,无法在选择文件后及时获取到文件路径,所以无法对ie6进行美化。ie9既支持click事件,也支持change事件。ff和chrome只支持change事件,change事件在文件选择之后触发。

选择文件后,就可以进行同步或者异步的文件上传了。相关阅读:

Win7环境音效怎么设置?Win7系统设置环境音效的方法

Javascript实现真实字符串剩余字数提示的实例代码

CSS代码编写中视觉格式化模型的学习教程

jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)

Android使用ViewDragHelper实现QQ6.X最新版本侧滑界面效果实例代码

Bootstrap3制作自己的导航栏

ThinkPHP验证码使用简明教程

Android实现app应用多语言切换功能

Base64编码解码原理及C#编程实例

Windows 10 build 10149手机版上手多图欣赏

AsyncTask陷阱之:Handler,Looper与MessageQueue的详解

JavaScript Math.ceil() 函数使用介绍

Win8.1系统如何在Modern应用下显示任务栏

JavaScript中DOM详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
美化OpenWrt界面,您可以按照以下步骤进行操作: 1. 首先,确保您已经成功安装了OpenWrt固件,并可以访问路由器的管理界面。 2. 下载和安装Luci界面的中文语言包。您可以通过访问OpenWrt官方网站,找到适用于您的设备的中文语言包下载链接。下载完成后,在路由器的管理界面中找到软件包安装的选项,将下载好的语言包文件上传并安装。 3. 安装完中文语言包后,重新登录路由器的管理界面。您应该能够看到已经变成中文的界面。 4. 如果您想进一步美化OpenWrt界面,您可以考虑使用主题插件。通过安装适用于OpenWrt的主题插件,您可以更改界面的外观和布局。 5. 找到适合您的OpenWrt固件版本的主题插件,并下载安装。您可以在OpenWrt官方网站或其他OpenWrt用户社区中找到各种主题插件。 6. 安装完主题插件后,在管理界面中找到主题设置选项。选择您喜欢的主题并应用更改。您的OpenWrt界面将会随之变得更加美观和个性化。 请注意,修改和美化OpenWrt界面可能需要一定的技术知识和操作经验。在进行任何修改之前,请确保您了解所做操作的风险,并备份重要的数据和设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [V9原版-完美CFE(可刷micro版DDWRT)](https://download.csdn.net/download/qq_28979147/9322967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [给openWrt安装管理界面中文包,顺带安装新界面风格,亲测有效](https://blog.csdn.net/xgocn/article/details/106439461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值