怎样用纯HTML和CSS更改默认的上传文件按钮样式
如果你曾经试过,你就会知道,用纯CSS样式加HTML实现统一的上传文件按钮可能会很麻烦。看看下面的不同浏览器的截图。很明显的,他们长得很不一样。
我们的目标是创造一个简洁,用纯CSS实现的,在所有浏览器里的样子和布局是一样的上传文件按钮。我们可以这样:
步骤1.创建一个简单的HTML标记
1
2
3
4
|
< div class = "fileUpload btn btn-primary" > < span >Upload</ span > < input type = "file" class = "upload" /> </ div > |
第2步:CSS: 有点棘手了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
.fileUpload { position : relative ; overflow : hidden ; margin : 10px ; } .fileUpload input.upload { position : absolute ; top : 0 ; right : 0 ; margin : 0 ; padding : 0 ; font-size : 20px ; cursor : pointer ; opacity: 0 ; filter: alpha(opacity= 0 ); } |
为简单起见,我使用应用了BootstrapCSS样式的按钮 (div.file-upload)。
演示:
上传按钮,显示选中的文件
不幸的是纯CSS的做不到这一点。但是,如果你真的想显示所选文件,下面的JavaScript代码片段可以帮助你。
JavaScript:
1
2
3
|
document.getElementById( "uploadBtn" ).onchange = function () { document.getElementById( "uploadFile" ).value = this .value; }; |
DOM:
1
2
3
4
5
|
< input id = "uploadFile" placeholder = "Choose File" disabled = "disabled" /> < div class = "fileUpload btn btn-primary" > < span >Upload</ span > < input id = "uploadBtn" type = "file" class = "upload" /> </ div > |
演示:
原文地址: geniuscarrier.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2014-04-01 纯CSS(无 JavaScript)实现的响应式图像显示
2014-04-01 jquery使用jsonp进行跨域调用