1. 程式人生 > >怎麼簡便地去掉html中難看的檔案上傳按鈕並實現圖片預覽功能?

怎麼簡便地去掉html中難看的檔案上傳按鈕並實現圖片預覽功能?

問題描述

通常的檔案上傳按鈕是這樣的:
這裡寫圖片描述
選擇了檔案過後是這樣的:
這裡寫圖片描述
很顯然,這樣的按鈕並不好看。

解決方法

用一個label標籤來裝載樣式,其for屬性指向type=file的input,然後將input標籤隱藏(display=“none”),這樣,在點選label時就會觸發input彈出檔案選擇框。

例項演示

程式碼:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title
>
</head> <body> <label for="file"><img src="images/2.jpg"></label> <input type="file" id="file" name="" style="display: none"/> <div id="image" style="width:100px;height:100px; background:#CCCCCC; "> <img src="images/2.jpg" height="100px" width="100px" border
="5px"/>
</div> </body> <script> document.getElementById('file').onchange = function() { var imgFile = this.files[0]; var fr = new FileReader(); fr.onload = function() { document.getElementById('image').getElementsByTagName('img')[0].src = fr.result; }; fr.readAsDataURL(imgFile); };
</script> </html>

效果:
這裡寫圖片描述
這裡寫圖片描述