如何用纯css实现input[type=file]的样式控制(代码示例)

2020-07-23 16:15:22
本篇文章给大家分享的内容是关于如何用纯css实现input[type=file]的样式控制(代码示例),有需要的朋友可以参考一下。

如果您搜索有关如何进行完全外观控制的常见问题的解决方案,则结果可能适合以下3个类别之一:<input type="file"/>

需要Javascript。

在主浏览器中不起作用。

实际上并没有提供完整的风格控制。

上述三个肯定适合我在网上找到的每一个答案。但你可以用纯CSS做到这一点。它需要一个包装元素来挂钩样式(输入本身是隐藏的,因为它的样式是如此有限/限制)。语义上的概念可能想要把这个变成<label/>- 顺便说一下,每个元素有多个标签没有错的。我们看看从下面这个示例

代码如下:

<!DOCTYPE html><html><head><title></title><style type="text/css">.fileContainer {    overflow: hidden;    position: relative;}.fileContainer [type=file] {    cursor: inherit;    display: block;    font-size: 999px;    filter: alpha(opacity=0);    min-height: 100%;    min-width: 100%;    opacity: 0;    position: absolute;    right: 0;    text-align: right;    top: 0;}/* Example stylistic flourishes */.fileContainer {    background: red;    border-radius: .5em;    float: left;    padding: .5em;}.fileContainer [type=file] {    cursor: pointer;}}</style></head><body><label class="fileContainer">    点击这里实现文件上传!    <input type="file"/></label></body></html>