今天一同事問我文件上傳按鈕的問題,情況是這樣的,他頁面上有3個按鈕,分為左中右三個,左邊的位按鈕甲,右邊的位按鈕乙,而中間的就是個文件選擇按鈕,情況大概是這個樣子的:
兩邊的按鈕都有了樣式,但中間的選擇文件的樣式死活調不出來,于是我就同他一塊解決,后來經過自己設置width,height折騰無果,再求助google終于找到了解決辦法,這個方法是這樣的:
用一個標簽套著文件域,然后調整文件域外邊的元素,設置成按鈕樣式,然后,在把文件域“隱藏”掉(這里的隱藏只是把透明度改為0,這樣元素還是存在的),這樣,當點擊“按鈕”時就會觸發文件域,就可以選擇文件了,下面看下代碼吧:
html部分:
1 2 3 | < a class = "btn-file" > < input type = "file" > </ a > |
CSS部分(代碼片段):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | .btn-file { position : relative ; display : inline- block ; width : 156px ; height : 43px ; background : #e4e4e4 url (bg-btn.jpg) no-repeat center center ; text-align : center ; line-height : 68px ; overflow : hidden ; } .btn-file:hover { background-image : url (bg-btn-hover.jpg); } .btn-file input { position : absolute ; top : 0 ; left : 0 ; width : 156px ; height : 43px ; opacity: 0 ; filter: alpha(opacity: 0 ); cursor : pointer ; } |
ok,經過這么一折騰,文件選擇按鈕就比瀏覽器默認的好多了。
效果圖:
最后,附上Demo及源碼下載吧
新聞熱點
疑難解答