栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

文件上传按钮的跨浏览器自定义样式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件上传按钮的跨浏览器自定义样式

我发布这个是因为(令我惊讶)没有其他地方可以推荐这个。

有一种非常简单的方法来执行此操作,而不会限制您使用浏览器定义的输入尺寸。只需

<label>
在隐藏文件上传按钮周围使用标记即可。与通过webkit的内置样式1]允许的样式相比,这提供了更大的样式自由。

制作label标签的确切目的是将其上的所有单击事件定向到子输入[2],因此使用该标签,您将不再需要任何Javascript即可将click事件定向到输入按钮。您将使用类似以下的内容:

label.myLabel input[type="file"] {    position:absolute;    top: -1000px;}.myLabel {    border: 2px solid #AAA;    border-radius: 4px;    padding: 2px 5px;    margin: 2px;    background: #DDD;    display: inline-block;}.myLabel:hover {    background: #CCC;}.myLabel:active {    background: #CCF;}.myLabel :invalid + span {    color: #A44;}.myLabel :valid + span {    color: #4A4;}<label >    <input type="file" required/>    <span>My Label</span></label>

我使用了固定的位置来隐藏输入,以使其即使在较旧版本的Internet Explorer(模拟IE8-拒绝在a

visibility:hidden
display:none
文件输入中使用)中也能正常工作。我已经在模拟IE7及更高版本中进行了测试,并且效果很好。


  1. 不幸的是,您不能使用
    <button>
    s内部
    <label>
    标签,因此您必须自己定义按钮的样式。对我来说,这是这种方法的唯一缺点。
  2. 如果
    for
    定义了属性,则其值将用于触发输入,其输入与上
    id
    for
    属性相同
    <label>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号