我和一個工作人員正在爲我們的客戶開發一個Web應用程序來登錄和管理這些細節。其中一個部分要求用戶上傳那裏的公司徽標,但因爲我們都知道html browes按鈕或標籤,因爲它也被稱爲硬cookie。這是我希望它看起來: 使用CSS和上傳按鈕的功能設計樣式
但現實是,如果我把一個普通的舊文件標籤在那裏它看起來平淡無奇,一般進出的地方,所以我用Google搜索的解決方案和一個之後狩獵我碰到這個代碼產生的代碼下面的圖片(這點我也顯示沒有設置爲零的不透明度文件上傳):
#divinputfile
{
height:85px;
width:250px;
margin:0px;
background-image: url(images/upload_file.gif);
background-repeat: no-repeat;
background-position: right bottom;
}
#divinputfile #filepc
{
opacity: 0.0;
-moz-opacity: 0.0;
filter: alpha(opacity=00);
font-size:16px;
cursor: pointer;
}
#filepc
{
margin-top: 12px;
}
#fakeinputfile
{
margin-top:-28px;
}
#fakeinputfile #fakefilepc
{
width:250px;
height:22px;
font-size:18px;
font-family:Arial;
}
<body>
<br />
<div id="divinputfile">
<div id="fakeinputfile">
<br />
<input name="fakefilepc" type="text" id="fakefilepc" />
</div>
<div align="right">
<input name="filepc" type="file" size="1" id="filepc" onchange="document.getElementById('fakefilepc').value = this.value;"/>
</div>
</div>
</body>
這是一個基本的黑客,當我選擇樣式化的按鈕我真的選擇了不可見的上傳按鈕,然後是upl的值oad被傳遞到上面的測試框中,看起來像是它上傳的真正部分。這種方法的兩個問題,我希望你能幫助我在這裏是
a)只有按鈕可以點擊上傳。在大多數瀏覽器中(不包括Chrome瀏覽器),您可以點擊文本框以及按鈕上傳圖片。當然,這種方法的文件路徑的文本被添加到文本框,但任何改變該框不會改變文件,例如:如果你選擇file1.jpg上傳,但你真的想file2.jpg,改變文本路徑在文本框不會將事情改變爲ACTUAL上傳元素
b)Chrome和Opera等一些瀏覽器將\ fakepath \ filepath添加到文本框中,而這只是醜陋的,所以任何if語句都可以刪除它,這也會非常有用。
希望你們可以幫助我,如果不通過代碼提示,那麼如果有人知道一個好的JavaScript插件,節省一天。
謝謝
可以使用CSS3.Go頁面:http://w3schools.com/css3/css3_borders.asp會讓你看看如何四捨五入你的按鈕角落.. – Rares 2012-02-17 09:52:29