您的位置:时间博客>前端>CSS美化input上传按钮并显示上传文件路径信息(兼

CSS美化input上传按钮并显示上传文件路径信息(兼

网上也有很多类似的文章,但很多也只是美化一下按钮而已;

默认的上传按钮在后面会显示上传文件名,若按照网上的教程美化后文件名信息就看不到了;体验较差。

以下代码结合网上方案完善而来,并兼容IE等各大浏览器。

美化前后对比图:

CSS代码:

.file{
    position:relative;
    display:inline-block;
    background:#D0EEFF;
    border:1px solid #99D3F5;
    padding:5px 20px;
    border-radius:4px;
    overflow:hidden;
    color:#1E88C7;
    text-decoration:none;
    text-indent:0;
    line-height:20px;
}
.file input{
    position:absolute;
    /* 防止在各浏览器中上传按钮的显示不同,给上传按钮设置文字大小 */
    font-size:100px;
    /* 解决IE中无法靠近边缘问题 */
    right:-5px;
    top:-5px;
    /* 设置透明度为0,针对非IE浏览器或高版本IE浏览器*/
    opacity:0;
    /* 设置透明度为0,这里针对低版本IE浏览器 */
    filter:alpha(opacity=0);
    cursor:pointer;
}
.file:hover{
    background:#AADFFD;
    border-color:#78C3F3;
    color:#004974;
    text-decoration:none;
}
#textId{
    width:180px;
    height:30px;
    border:1px solid #f1f1f1;
    border-radius:4px;
    vertical-align:top;
}

HTML:

<div>
    <p>默认上传按钮</p>
    <p><input type="file" name="file"></p>
    
    <br/><br/>
    <p>美化后的上传按钮</p>
    <p>
    	<input type="text" id="textId">
    	<a href="javascript::(0)" class="file">选择文件
    	<input type="file" name="file" onchange="document.getElementById('textId').value=this.value">
    	</a>
    </p>
</div>


转载请注明本文标题和链接:《 CSS美化input上传按钮并显示上传文件路径信息(兼
分享到:

相关推荐

网友评论 0

未登陆 表情
Ctrl+Enter快速提交