1. 程式人生 > >type=file的input美化,自定義上傳按鈕樣式,上傳按鈕美化

type=file的input美化,自定義上傳按鈕樣式,上傳按鈕美化

轉自:https://www.cnblogs.com/crizygo/p/5605532.html

用input本身的屬性做的上傳按鈕,在不同的瀏覽器中長得都不一樣。如下圖的幾個:

但是對input設定的樣式只能加在輸入框上,對上傳按鈕根本不起作用。那麼有一個超級簡單的方法,就是先用一個div製作你要的上傳按鈕的樣式,將實際的上傳按鈕input設定透明,並定位在設定樣式的div上面。

例子:

html部分:

<div class="div1">
<div class="div2">點選上傳</div>
<input type="file" class="file_input">
</div>

css部分:

<style>
.div1 {
position: relative;
}

.div2 {
width: 100px;
height: 36px;
background: #2178fc;
color: #fff;
text-align: center;
line-height: 36px;
}

.file_input {
width: 200px;/*因為file-input在部分瀏覽器中會自帶一個輸入框,需要雙擊才可以點選上傳,放大後將其定位到div外面就好啦*/
height: 36px;
position: absolute;
left: -100px;
top: 0;
z-index:1;
-moz-opacity: 0;
-ms-opacity: 0;
-webkit-opacity: 0;
opacity: 0; /*css屬性——opcity不透明度,取值0-1*/
filter: alpha(opacity=0); /*相容IE8及以下--filter屬性是IE特有的,它還有很多其它濾鏡效果,而filter: alpha(opacity=0); 相容IE8及以下的IE瀏覽器(如果你的電腦IE是8以下的版本,使用某些效果是可能會有一個允許ActiveX的提示,注意點一下就ok啦)*/
cursor: pointer;
}
</style>

就是這樣的效果啦: