Apakah mungkin untuk menghapus garis putus-putus yang mengelilingi item yang dipilih dalam elemen pemilihan?
Saya telah mencoba menambahkan outline
properti di CSS tetapi tidak berhasil, setidaknya tidak di FF.
<style>
select { outline:none; }
</style>
Perbarui
Sebelum Anda melanjutkan dan menghapus garis besarnya, harap baca ini.
http://www.outlinenone.com/
Jawaban:
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 mendukungrgba
(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 ...
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: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:
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 dengantext-shadow
deteksi dan lakukan ...Nikmati.
sumber
@-moz-document url-prefix() { ::-moz-focus-inner {border: none} select:-moz-focusring { color: transparent; text-shadow: 0px 0px 0px #000; } }
Nah, jawaban Duopixel sangat sempurna. Jika kita melangkah lebih jauh, kita bisa membuatnya anti peluru.
Ini dia, hanya berlaku untuk Firefox dan garis bertitik jelek di sekitar opsi yang dipilih hilang.
sumber
all
dalam transisi seperti menembak dengan pistol Gatling dengan cepat.Berikut adalah solusi kolaborasi untuk memperbaiki masalah gaya dengan kotak pilih Firefox. Gunakan pemilih CSS ini sebagai bagian dari penyetelan ulang CSS biasa Anda.
Kelas menghapus garis sesuai pertanyaan tetapi juga menghapus gambar latar belakang (karena saya biasanya menggunakan panah dropdown kustom dan panah dropdown sistem Firefox saat ini tidak dapat dihapus). Jika menggunakan gambar latar belakang untuk apa pun selain gambar dropdown, cukup hapus garis
background-image: none !important;
sumber
-moz-appearance
kenone
.select::-moz-focus-inner
pemilih penting , membuatnya kurang efektif. Itulah mengapa yang ini mendapatkan ⬆ saya.select:-moz-focusring
bersama dengancolor: transparent
dantext-shadow: 0 0 0 #000
menghapus batas fokus yang mengganggu di Firefox v63Ini akan menargetkan semua versi firefox
Anda mungkin ingin menghapus! Penting, jika Anda berencana untuk membuat kerangka muncul di laman lain di situs Anda yang menggunakan lembar gaya yang sama.
sumber
Secara umum, kontrol bentuk tidak mungkin diatur sedemikian rupa hingga tingkat akurasi tersebut. Tidak ada browser yang saya ketahui mendukung berbagai properti yang masuk akal di semua kontrol. Itulah alasan mengapa ada triliunan pustaka JavaScript yang "memalsukan" kontrol bentuk dengan gambar dan elemen HTML lainnya serta meniru fungsi aslinya dengan kode:
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/
...
sumber
<select onchange="this.blur();">
Jika Anda menggunakan ini, perbatasan tetap sampai Anda memilih item dari daftar.
sumber
Cobalah salah satu dari ini:
Referensi
sumber
a
elemen, tetapi tidak bekerja pada sebuahselect
elemen.Inilah solusinya
sumber
10px solid red
dan saya tidak dapat menemukan di mana itu muncul.Hapus garis batas / garis putus-putus dari Firefox Semua Tag yang Dapat Dipilih.
Letakkan baris kode ini di lembar gaya Anda:
sumber
Tambahkan gaya batas: tidak ada yang Anda pilih di CSS.
sumber
bekerja 100%
sumber
Ini akan menghilangkan fokus dari
select
elemen dan garis luar :Padahal ini bukan tanpa kekurangan di browser lain. Anda sebaiknya memeriksa browser yang digunakan pengguna:
sumber