如何修改input[type="file"]的默认样式

1.首先我们先来看一下input[type=”file”]默认的样子
这里写图片描述

<input type="file" />

2.改变input[type=”file”]默认的样子
这里写图片描述

这里我设置了 opacity: 0;使得 input变得不可见了

.change{
    opacity: 0;
}

<input class="change" type="file" multiple="multiple" />被隐藏

下面就开始做一个模仿的选择文件的“按钮”了
这里写图片描述

.upload{
    padding: 4px 10px;
    height: 20px;
    line-height: 20px;
    border: 1px solid #999;
    text-decoration: none;
    color: #666;
}
.change{
    opacity: 0;
}
<a href="javascript:;" class="upload">选择文件
    <input class="change" type="file" multiple="multiple" />被隐藏
</a>

之后要做的就是将这两个元素“重合”在一起了,所以当然要用上position这个属性
这里写图片描述

.upload{
    padding: 4px 10px;
    height: 20px;
    line-height: 20px;
    position: relative;
    border: 1px solid #999;
    text-decoration: none;
    color: #666;
}
.change{
    position: absolute;
    overflow: hidden;
    right: 0;
    top: 0;
    opacity: 0;
}

<a href="javascript:;" class="upload">选择文件
    <input class="change" type="file" multiple="multiple" />
</a>

这些东西算是给自己使用CSS的一些总结,小属性也有大作用


版权声明:本文为Dear_Mr原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。