Mengapa tidak ada tombol unggah elemen file mewah untuk bootstrap twitter? Akan lebih manis jika tombol utama biru diterapkan untuk tombol unggah. Apakah mungkin untuk menyempurnakan tombol unggah menggunakan CSS? (sepertinya elemen browser asli yang tidak dapat dimanipulasi)
css
forms
twitter-bootstrap
input-type-file
jkushner
sumber
sumber
Jawaban:
Inilah solusi untuk Bootstrap 3 dan 4.
Untuk membuat kontrol input file fungsional yang terlihat seperti tombol, Anda hanya perlu HTML:
HTML
Ini berfungsi di semua browser modern, termasuk IE9 +. Jika Anda juga memerlukan dukungan untuk IE lama, silakan gunakan pendekatan lawas yang ditunjukkan di bawah ini.
Teknik ini bergantung pada
hidden
atribut HTML5 . Bootstrap 4 menggunakan CSS berikut untuk mengecilkan fitur ini di browser yang tidak mendukung. Anda mungkin perlu menambahkan jika Anda menggunakan Bootstrap 3.Pendekatan lama untuk IE lama
Jika Anda memerlukan dukungan untuk IE8 dan di bawah, gunakan HTML / CSS berikut:
HTML
CSS
Perhatikan bahwa IE lama tidak memicu input file ketika Anda mengklik a
<label>
, sehingga CSS "mengasapi" melakukan beberapa hal untuk mengatasinya:<span>
Umpan Balik & Bacaan Tambahan
Saya telah memposting rincian lebih lanjut tentang metode ini, serta contoh-contoh bagaimana menunjukkan kepada pengguna mana / berapa banyak file yang dipilih:
http://www.abeautifulsite.net/whipping-file-inputs-into-shape-with-bootstrap-3/
sumber
<label>
elemen. Sebagai solusi terbaik :)Saya kaget tidak disebutkan
<label>
unsurnya.Larutan:
Tidak perlu untuk JS, atau funky css ...
Solusi untuk memasukkan nama file:
Solusi di atas membutuhkan jQuery.
sumber
for
jika Anda membungkus elemen target dengan label.Tanpa diperlukan tambahan plugin, solusi bootstrap ini sangat cocok untuk saya:
demo:
http://jsfiddle.net/haisumbhatti/cAXFA/1/ (bootstrap 2)
http://jsfiddle.net/haisumbhatti/y3xyU/ (bootstrap 3)
sumber
Itu termasuk dalam garpu bootstrap Jasny.
Tombol unggah sederhana dapat dibuat menggunakan
Dengan plugin fileupload Anda dapat membuat widget yang lebih canggih. Lihatlah http://jasny.github.io/bootstrap/javascript/#fileinput
sumber
Tombol unggah terasa sulit untuk ditata karena gaya input dan bukan tombol.
tetapi Anda dapat menggunakan trik ini:
http://www.quirksmode.org/dom/inputfile.html
Ringkasan:
Ambil yang normal
<input type="file">
dan masukkan ke dalam elemenposition: relative
.Untuk elemen induk yang sama ini, tambahkan normal
<input>
dan gambar, yang memiliki gaya yang benar. Posisikan elemen-elemen ini secara mutlak, sehingga mereka menempati tempat yang sama dengan<input type="file">
.Atur z-index dari
<input type="file">
ke 2 sehingga terletak di atas input / gambar gaya.Akhirnya, atur opacity dari
<input type="file">
ke 0.<input type="file">
Sekarang menjadi tidak terlihat secara efektif, dan style input / gambar bersinar, tetapi Anda masih dapat mengklik tombol "Browse". Jika tombol diposisikan di atas gambar, pengguna muncul untuk mengklik gambar dan mendapatkan jendela pemilihan file normal. (Perhatikan bahwa Anda tidak dapat menggunakan visibilitas: disembunyikan, karena elemen yang benar-benar tidak terlihat juga tidak dapat diklik, dan kami perlu tetap diklik)sumber
Bekerja untuk saya:
Memperbarui
gaya plugin jQuery :
sumber
Jawaban yang disederhanakan menggunakan bagian dari jawaban lain, terutama user2309766 dan dotcomsuperstar.
Fitur:
split
untuk menghapus jalur file menggunakan regex dan pembatas '\' dan '/'.Kode:
sumber
Dengan beberapa inspirasi dari posting lain di atas, berikut ini adalah solusi lengkap yang menggabungkan apa yang tampak seperti bidang kontrol bentuk dengan input-grup-addon untuk widget input file bersih yang menyertakan tautan ke file saat ini.
sumber
Ini bekerja dengan baik untuk saya
sumber
Silakan periksa Input File Bootstrap Twitter . Ini menggunakan solusi yang sangat sederhana, cukup tambahkan satu file javascript dan rekatkan kode berikut:
sumber
Solusi sederhana dengan hasil yang dapat diterima:
Dan gayanya:
sumber
Solusi untuk banyak unggahan
Saya mengubah dua jawaban sebelumnya untuk memasukkan beberapa unggahan. Dengan cara ini label menunjukkan nama file, jika hanya satu yang dipilih, atau
x files
sebaliknya.Ini mungkin juga berlaku untuk mengubah teks tombol dan kelas.
sumber
Saya telah membuat tombol Unggah khusus untuk hanya menerima gambar, yang dapat dimodifikasi sesuai kebutuhan Anda.
Semoga ini membantu!! :)
(Digunakan kerangka kerja Bootstrap)
Codepen-link
HTML
CSS
JS
sumber
ini adalah gaya unggah file terbaik yang saya sukai:
Anda bisa mendapatkan demo dan lebih banyak gaya di:
http://www.jasny.net/bootstrap/javascript/#fileinput
tetapi menggunakan ini, Anda harus mengganti bootstrap twitter dengan file bootstrap jasny ..
salam.
sumber
Berdasarkan solusi @claviska yang benar-benar brilian, kepada siapa semua kredit berhutang.
Input file Bootstrap 4 berfitur lengkap dengan validasi dan teks bantuan.
Berdasarkan contoh grup input, kami memiliki bidang teks input dummy yang digunakan untuk menampilkan nama file kepada pengguna, yang akan diisi dari
onchange
peristiwa pada bidang file input aktual yang tersembunyi di balik tombol label. Selain menyertakan dukungan validasi bootstrap 4, kami juga memungkinkan untuk mengklik di mana saja pada input untuk membuka dialog file.Tiga status dari input file
Tiga kemungkinan status tidak divalidasi, valid, dan tidak valid dengan atribut tag input hummy dummy
required
set .Markup html untuk input
Kami hanya memperkenalkan 2 kelas khusus
input-file-dummy
daninput-file-btn
untuk menata serta menyesuaikan perilaku yang diinginkan dengan benar. Yang lainnya adalah markup Bootstrap 4 standar.Ketentuan perilaku JavaScript
Input dummy hanya perlu dibaca, seperti contoh aslinya, untuk mencegah pengguna mengubah input yang hanya dapat diubah melalui dialog file yang terbuka. Sayangnya validasi tidak terjadi pada
readonly
bidang sehingga kami mengaktifkan kemampuan edit input pada fokus dan blur ( peristiwa jqueryonfocusin
danonfocusout
) dan memastikan bahwa itu menjadi sah lagi setelah file dipilih.Selain juga membuat bidang teks dapat diklik, dengan memicu acara klik tombol, sisa fungsi mengisi bidang dummy dibayangkan oleh @claviska.
Tweak gaya kustom
Yang paling penting kami tidak ingin
readonly
bidang melompat antara latar belakang abu-abu dan putih sehingga kami memastikannya tetap putih. Tombol span tidak memiliki kursor kursor tetapi kita perlu menambahkan satu untuk input.nJoy!
sumber
Saya menggunakan http://gregpike.net/demos/bootstrap-file-input/demo.html :
atau
sumber
/ * * Bootstrap 3 filestyle * http://dev.tudosobreweb.com.br/bootstrap-filestyle/ * * Hak cipta (c) 2013 Markus Vinicius da Silva Lima * Perbarui bootstrap 3 oleh Paulo Henrique Foxer * Versi 2.0.0 * Berlisensi di bawah lisensi MIT. * * /
sumber
Saya memodifikasi jawaban @claviska dan berfungsi sesuka saya (Bootstrap 3, 4 tidak diuji):
sumber
Kode berikut dibuat seperti gambar di atas
Html
Javascript
sumber
Saya memiliki masalah yang sama, dan saya mencobanya seperti ini.
CSS
JS
Semoga Anda menemukan solusi terbaik ...
sumber
Coba ikuti di Bootstrap v.3.3.4
sumber
Ini adalah trik alternatif, ini bukan solusi terbaik tetapi hanya memberi Anda pilihan
Kode HTML:
Javascript:
sumber
Sehubungan dengan jawaban claviska - jika Anda ingin menampilkan nama file yang diunggah dalam unggahan file dasar, Anda dapat melakukannya di
onchange
acara masukan . Cukup gunakan kode ini:Kode JS jquery ini bertanggung jawab akan mengambil nama file yang diunggah:
Atau dengan vanilla JS:
sumber
Saya pikir saya akan menambahkan senilai threepence saya, hanya untuk mengatakan bagaimana default
.custom-file-label
dancustom-file-input
file yang BS4 masukan dan bagaimana yang dapat digunakan.Kelas yang terakhir adalah pada kelompok input dan tidak terlihat. Sedangkan yang pertama adalah label yang terlihat dan memiliki: setelah pseudoelement yang terlihat seperti tombol.
Anda tidak bisa menambahkan kelas ke elemen psuedo, tetapi Anda bisa menata mereka dalam CSS (atau SASS).
sumber
Shiz mewah tidak diperlukan:
HTML:
JS:
PERHATIAN: Tiga elemen bentuk dalam pertanyaan HARUS bersaudara satu sama lain (.image-file-terpilih, tombol-gambar-file-, -gambar-file)
sumber
http://markusslima.github.io/bootstrap-filestyle/
ATAU
sumber