input file的樣式不能直接用css來美化,咱們能夠曲線救國,把input file的透明度下降爲0,至關於把這個控件隱藏了,實際上只是透明度爲0,仍是存在的,而後把div套上去,讓div充當file的按鈕。css
因此這個辦法很簡單,可是,把input file的透明度下降,連選擇文件後的文件名也被隱藏了,這下可怎麼辦?那就只能用jquery獲取file的文件名了。html
<!DOCTYPE html> <html> <head> <title>文件上傳file美化</title> <style type="text/css"> *{margin:0;padding: 0;} #btn{ width: 120px; height: 45px; background: #39f; line-height: 45px; text-align: center; color: #fff; } #btn .file{ opacity: 0; position: relative; top: -56px; width: 100%; height: 45px; } </style> </head> <body> <!-- 用一個div來看成美化的上傳按鈕,file按鈕被透明化 --> <div id="btn"> 文件上傳 <input type="file" class="file" onclick="daojishi()"> </div> <!-- 文件名顯示區域 --> <div id="filename"></div> <script src="https://www.jq22.com/jquery/jquery-3.3.1.js"></script> <!-- 輪詢文件名 --> <script> function daojishi() { setInterval("getname()",1000); } </script> <!-- 獲取文件名 --> <script> function getname() { var filename = $("#btn .file").val(); $("#filename").text(filename); } </script> </body> </html>
搞定!jquery
做者:TANKING
網站:http://www.likeyunba.com網站