怎樣用純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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM