原生HTML5 input type=file按鈕UI自定義


原生<input type="file" name="file" />長得太丑

提升一下顏值

實現方案一、設置input[type=file]透明度為0,使用絕對定位遮罩在自定義的按鈕標簽層的之上.
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>原生HTML5 input type=file按鈕UI自定義</title>
 6         <style>
 7             .file_upload_box {
 8                 display: inline-block;
 9                 width: 200px;
10                 height: 60px;
11                 position: relative;
12                 overflow: hidden;
13             }
14             .file_upload_box input[type=file] {
15                 position: absolute;
16                 left: 0;
17                 top: 0;
18                 width: 100%;
19                 line-height: 60px;
20                 opacity: 0;
21                 cursor: pointer;
22             }
23             .file_upload_box a {
24                 display: inline-block;
25                 width: 100%;
26                 line-height: 45px;
27                 text-align: center;
28                 font-family: "Microsoft yahei";
29                 background-color: #f60;
30                 color: #FFF;
31                 font-weight: 700;
32                 text-decoration: none;
33             }
34         </style>
35     </head>
36     <body>
37         <div class="file_upload_box">
38             <input type="file" name="file" />
39             <a href="#none">上傳文件</a>
40         </div>
41     </body>
42 </html>
推薦實現方案二、利用label的for屬性(for 屬性規定 label 綁定到哪個表單元素)
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>原生HTML5 input type=file按鈕UI自定義</title>
 6         <style>    
 7             .ui_button {
 8                 display: inline-block;
 9                 line-height: 45px;
10                 padding: 0 70px;
11                 color: #FFFFFF;
12                 font-family: "微軟雅黑";
13                 font-weight: 700;
14                 cursor: pointer;
15             }
16             .ui_button_primary {
17                 background-color: #FF6600;
18             }
19             label.ui_button:hover {
20                 background-color: #d46216;
21             }
22         </style>
23     </head>
24     <body>
25         <label class="ui_button ui_button_primary" for="xFile">上傳文件</label>
26         <form><input type="file" id="xFile" style="position:absolute;clip:rect(0 0 0 0);"/></form>
27     </body>
28 </html>

 


免責聲明!

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



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