欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何用纯html实现一个所有浏览器都一样的上传文件按钮

程序员文章站 2022-03-31 22:20:06
...

如果你曾经试过,你就会知道,用纯CSS样式加HTML实现统一的上传文件按钮可能会很麻烦。看看下面的不同浏览器的截图。很明显的,他们长得很不一样。

如何用纯html实现一个所有浏览器都一样的上传文件按钮

  我们的目标是创造一个简洁,用纯CSS实现的,在所有浏览器里的样子和布局是一样的上传文件按钮。我们可以这样:

  步骤1.创建一个简单的HTML标记

<p class="fileUpload btn btn-primary">
    <span>Upload</span>
    <input type="file" class="upload" />
</p>

  第2步:CSS: 有点棘手了

.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样式的按钮 (p.file-upload)。

  演示:

如何用纯html实现一个所有浏览器都一样的上传文件按钮

  上传按钮,显示选中的文件

  不幸的是纯CSS的做不到这一点。但是,如果你真的想显示所选文件,下面的JavaScript代码片段可以帮助你。

  JavaScript:

document.getElementById("uploadBtn").onchange = function () {
    document.getElementById("uploadFile").value = this.value;
};

  DOM:

<input id="uploadFile" placeholder="Choose File" disabled="disabled" />
<p class="fileUpload btn btn-primary">
    <span>Upload</span>
    <input id="uploadBtn" type="file" class="upload" />
</p>

  演示:

如何用纯html实现一个所有浏览器都一样的上传文件按钮

【相关推荐】

1. 免费html在线视频教程

2. html开发手册

3. php.cn原创html5视频教程

以上就是如何用纯html实现一个所有浏览器都一样的上传文件按钮的详细内容,更多请关注其它相关文章!

相关标签: html,上传,按钮