用css alpha 濾鏡 實現input file 樣式美化代碼_經驗交流

來源:互聯網
上載者:User

在WEB上傳檔案時,要用到上傳框: 
<input type="file" id="f" name="f"> 
       這東東在IE(其他偶沒經過測試)中是一個非常特殊的對象。 如果是您手動寫入的或其他對象經過某些事件觸發填入的值 ,由於安全問題,在進行提交表單時,往往會被清空,所以上傳失敗。 簡單點說,除非你的滑鼠親自點到了上傳框f上,IE才會給你上傳檔案! 

哪怕你將 f 的onclick控制代碼賦給某個對象,如: 
<input type="file" id="f" name="f"> 
<input onclick="f.click()" value="點擊"> 
       你 “點擊” 後,同樣會彈出檔案選擇對話方塊,可惜失望地:你照樣不能上傳檔案! 怎麼辦呢? 看下這段:
<BODY onmousemove="f.style.pixelLeft=event.x-200;f.style.pixelTop=event.y-10;"> 
<input type="text"><input type="button" onmousemove=""> 
<input type="file" id="f" name="f" style="position:absolute;"> 
</BODY>
隨便點擊滑鼠,看到效果了吧? 基於上面的思路,偶們就可以把它弄到一個button下面就OK了!!

<style> input{border:1px solid green;} </style> <BODY> <form method="post" action="" enctype="multipart/form-data"> <input type="text" id="txt" name="txt">   <input type="button" onmousemove="f.style.pixelLeft=event.x-60;f.style.pixelTop=this.offsetTop;" value="請選擇檔案" size="30"> <input type="file" id="f" name="f" size="1" onChange="txt.value=this.value"> <INPUT TYPE="submit"> </form> </bODY>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

為了達到真正類比的效果,還得要把f給隱藏,加個不透明的alpha 濾鏡即可,再加上 hidefocus 屬性,隱藏f的虛線:

<style> input{border:1px solid green;} </style> <BODY> <form method="post" action="" enctype="multipart/form-data"> <input type="text" id="txt" name="txt">   <input type="button" onmousemove="f.style.pixelLeft=event.x-60;f.style.pixelTop=this.offsetTop;" value="請選擇檔案" size="30" onclick="f.click()"> <input type="file" id="f" onchange="txt.value=this.value" name="f" size="1" hidefocus> <INPUT TYPE="submit"> </form> </bODY>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

可以看下opacity=0改為稍大些的效果。 

OK了,現在你就可以控制它們的樣式、位置了。。。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.