我想創建一個Zurb基金會使用Rails上傳圖片的按鈕。我嘗試這樣做:你如何用zurb基礎設計窗體文件字段?
<input class="tiny round disabled button" name="picture[picture]" type="file">
不幸的是,它沒有工作,創建讓你選擇一個圖片上兩個不同的按鈕。有什麼我需要專門爲文件字段做?
我想創建一個Zurb基金會使用Rails上傳圖片的按鈕。我嘗試這樣做:你如何用zurb基礎設計窗體文件字段?
<input class="tiny round disabled button" name="picture[picture]" type="file">
不幸的是,它沒有工作,創建讓你選擇一個圖片上兩個不同的按鈕。有什麼我需要專門爲文件字段做?
我發現這個資源與造型輸入類型=「文件」非常有幫助:
http://www.quirksmode.org/dom/inputfile.html
這是非常困難的,但是這主要涉及用假一個有層次感的實際輸入您的造型適用於它。
<div class="file-inputs">
<input type="file" class="hidden-input">
<div class="fake-input">
<input>
<img src="images/YOURBUTTON.png">
</div>
</div>
爲了配合下面的CSS:
div.file-inputs {
position: relative;
}
div.hidden-input {
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
}
input.file {
position: relative;
text-align: right;
-moz-opacity:0 ;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;
}
自定義文件上傳按鈕使用HTML CSS和JS
HTML代碼:
<div class="custom-file-upload">
<!--<label for="file">File: </label>-->
<input type="file" id="file" name="myfiles[]" multiple />
</div>
CSS:
.custom-file-upload-hidden {
display: none;
visibility: hidden;
position: absolute;
left: -9999px;
}
.custom-file-upload {
display: block;
width: auto;
font-size: 16px;
margin-top: 30px;
}
.custom-file-upload label {
display: block;
margin-bottom: 5px;
}
.file-upload-wrapper {
position: relative;
margin-bottom: 5px;
}
.file-upload-input {
width: 300px;
color: #fff;
font-size: 16px;
padding: 11px 17px;
border: none;
background-color: #c0392b;
-moz-transition: all 0.2s ease-in;
-o-transition: all 0.2s ease-in;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
float: left;
/* IE 9 Fix */
}
.file-upload-input:hover, .file-upload-input:focus {
background-color: #ab3326;
outline: none;
}
.file-upload-button {
cursor: pointer;
display: inline-block;
color: #fff;
font-size: 16px;
text-transform: uppercase;
padding: 11px 20px;
border: none;
margin-left: -1px;
background-color: #962d22;
float: left;
/* IE 9 Fix */
-moz-transition: all 0.2s ease-in;
-o-transition: all 0.2s ease-in;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.file-upload-button:hover {
background-color: #6d2018;
}
JS代碼: http://codepen.io/wallaceerick/pen/fEdrz檢查這一個完整的細節
的訣竅是去做一些看起來像這樣:
HTML
<button class="file-upload">Upload
<input type="file" name="files" />
</button>
CSS
button.file-upload > input[type='file'] {
cursor: pointer;
position: absolute;
font-size: 0;
top: 0;
left: 0;
opacity: 0;
height: 100%;
width: 100%;
}
使用基礎v5.5.2:http://codepen.io/soyuka/pen/xGMPKJ
用戶想編輯上面這條評論。在這裏補充:可悲的是,它現在需要做什麼來設置輸入類型=「文件」。您選擇設計CSS和JavaScript完全取決於您。我發現這個由[gabrieleromanato](http://gabrieleromanato.com/)創建的jsfiddle向您展示另一個用於樣式的CSS選項。 – Yakk 2014-02-12 16:19:42
另請參閱:[樣式輸入類型文件?複製](http://stackoverflow.com/questions/4909228/style-input-type-file)[如何樣式「輸入文件」與CSS3/Javascript?](http://stackoverflow.com/questions/3226167/如何樣式輸入文件與css3-javascript)[樣式輸入類型=「文件」按鈕。](http://stackoverflow.com/questions/572768/styling-an-input-type-file -button) – Yakk 2014-02-12 16:20:09