博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS自定义文件上传按钮
阅读量:6847 次
发布时间:2019-06-26

本文共 977 字,大约阅读时间需要 3 分钟。

今天一同事问我文件上传按钮的问题,情况是这样的,他页面上有3个按钮,分为左中右三个,左边的位按钮甲,右边的位按钮乙,而中间的就是个文件选择按钮,情况大概是这个样子的:

两边的按钮都有了样式,但中间的选择文件的样式死活调不出来,于是我就同他一块解决,后来经过自己设置width,height折腾无果,再求助google终于找到了解决办法,这个方法是这样的:

用一个标签套着文件域,然后调整文件域外边的元素,设置成按钮样式,然后,在把文件域“隐藏”掉(这里的隐藏只是把透明度改为0,这样元素还是存在的),这样,当点击“按钮”时就会触发文件域,就可以选择文件了,下面看下代码吧:

html部分:

1
2
3
<
a
class
=
"btn-file"
>
    
<
input
type
=
"file"
>
</
a
>

CSS部分(代码片段):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.btn-file {
    
position
:
relative
;
    
display
: inline-
block
;
    
width
:
156px
;
    
height
:
43px
;
    
background
:
#e4e4e4
url
(bg-btn.jpg)
no-repeat
center
center
;
    
text-align
:
center
;
    
line-height
:
68px
;
    
overflow
:
hidden
;
}
    
.btn-file:hover {
    
background-image
:
url
(bg-btn-hover.jpg);
}
    
.btn-file input {
    
position
:
absolute
;
    
top
:
0
;
    
left
:
0
;
    
width
:
156px
;
    
height
:
43px
;
    
opacity:
0
;
    
filter: alpha(opacity:
0
);
    
cursor
:
pointer
;
}

ok,经过这么一折腾,文件选择按钮就比浏览器默认的好多了。

效果图:

最后,附上Demo及源码下载吧

    

转载于:https://www.cnblogs.com/ranran/p/3685032.html

你可能感兴趣的文章
MyBatis的常见属性总结select、insert、update、delete
查看>>
运行脚本下的 类tail -f sed -n
查看>>
[Python]学习基础篇:字典
查看>>
观察者模式
查看>>
Android WebView缓存机制详解
查看>>
Linux iptables命令高级网络
查看>>
STL中mem_fun和mem_fun_ref的用法
查看>>
Mysql管理总结
查看>>
Exchange2007的规划和安装
查看>>
同步时间
查看>>
去除TFS版本控制信息
查看>>
南海区妇幼保健院HIS数据容灾备份系统项目
查看>>
解决scanf接收多余回车字符问题--清空缓冲区
查看>>
思科3560交换机端口限速
查看>>
linux网络设备无法启动问题处理
查看>>
生活大爆炸系列之磨望远镜
查看>>
文档:Windows Server 2012 配置Hyper-V复制
查看>>
我的友情链接
查看>>
洛谷——P2658 汽车拉力比赛
查看>>
云计算之--------高级虚拟化KVM
查看>>