怎样用纯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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值