如何去掉 input type=file 的 “未選擇任何文件”標志?

比如有個需求,是點擊一個按鈕進行上傳圖片.

屏幕快照 2018-03-19 下午1.30.18.png

如何實現(xiàn)這個效果呢?

我的做法是 給input外層 裹上一層div
<div class="btn btn-lg btn-outline-primary change-photo">更換頭像
<input class="change-photo-btn" type="file" accept="image/jpg,image/png,image/jpeg,image/bmp">
</div>

然后把div的樣式 處理成button的一樣. 那么重點來了, input的屬性怎么寫呢?

我是這么處理的
把外層div : { position: relative; }
input { position: absolute; top: 0; left: 0; opacity: 0; cursor: pointer; height: 40px; width: 88px; }

對 ,沒錯 ;就是 opacity 這只為零;
然后去寫 change-photo-btn 的onchang事件. 去操作上傳的file 就可以了.

但是 還有個煩人的效果很難搞; 就是鼠標放上去之后,會有個 未選擇任何文件 的提示. 如圖:

2427550893-5a335e478e8a1_articlex.png

那么這個如何處理呢?

請看代碼:
<div class="btn btn-lg btn-outline-primary change-photo">更換頭像
<label class="change-photo-btn">
<input class="change-photo-btn" type="file" accept="image/jpg,image/png,image/jpeg,image/bmp" style="
display:none;">
</label>
</div>

我給input 的最外層裹了一個label. 類名與Input相同. 同時, 在Input中, 寫上 style="
display:none;" 就可以了

大家可以去試試效果. 看看是不是完美解決.

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,784評論 1 92
  • CSS 是什么 css(Cascading Style Sheets),層疊樣式表,選擇器{屬性:值;屬性:值}h...
    崔敏嫣閱讀 1,508評論 0 5
  • 在做input文本上傳時,由于html原生的上傳按鈕比較丑,需要對其進行美化,radio和checkbox類似 主...
    OnePiece索隆閱讀 15,703評論 2 4
  • 基本內容: html超文本標記語言。 頁面組成: html>//版本聲明 //萬國碼——gb1312解決中文亂碼 ...
    Spencerhyuk閱讀 1,321評論 0 1
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,811評論 25 708