Saya menemukan solusi, tetapi ini adalah induk dari semua peretasan, semoga ini akan berfungsi sebagai titik awal untuk solusi lain yang lebih kuat. Kelemahannya (menurut saya terlalu besar) adalah bahwa browser apa pun yang tidak mendukung text-shadow
tetapi mendukung rgba
(IE 9) tidak akan membuat teks kecuali Anda menggunakan perpustakaan seperti Modernizr (tidak diuji, hanya teori).
Firefox menggunakan warna teks untuk menentukan warna batas bertitik. Jadi katakan jika Anda melakukan ...
select {
color: rgba(0,0,0,0);
}
Firefox akan membuat batas putus-putus menjadi transparan. Tapi tentu saja teks Anda juga akan transparan! Jadi kita harus menampilkan teks tersebut. text-shadow
datang untuk menyelamatkan:
select {
color: rgba(0,0,0,0);
text-shadow: 0 0 0 #000;
}
Kami menempatkan bayangan teks tanpa offset dan tanpa blur, sehingga menggantikan teks. Tentu saja peramban lama tidak memahami apa-apa tentang ini, jadi kami harus memberikan penggantian untuk warnanya:
select {
color: #000;
color: rgba(0,0,0,0);
text-shadow: 0 0 0 #000;
}
Ini adalah saat IE9 ikut bermain: ia mendukung rgba
tetapi tidak mendukung bayangan teks, jadi Anda akan mendapatkan kotak pilih yang tampaknya kosong. Dapatkan versi Modernizr Anda dengan text-shadow
deteksi dan lakukan ...
.no-textshadow select {
color: #000;
}
Nikmati.