Lembar gaya agen-pengguna untuk Chrome memberikan radius batas 5px ke semua sudut <select>
elemen. Saya sudah mencoba menyingkirkan ini dengan menerapkan radius 0px melalui stylesheet eksternal saya, juga sebaris pada elemen itu sendiri; Saya sudah mencoba keduanya border-radius:0px
dan -webkit-border-radius:0px;
dan saya sudah mencoba yang lebih spesifik border-top-left-radius:0px
(bersama dengan itu -webkit setara).
Tidak ada yang berfungsi.
Ketika saya memeriksa elemen dalam alat pengembang webkit, Gaya Komputer masih mencantumkan radius sebagai 5px. Tetapi jika saya mengklik panah expander di sebelahnya untuk melihat spesifiknya, bunyinya: element.style - 0px. Dan di bawahnya itu menunjukkan spesifikasi css eksternal yang saya berikan 0px, bersama dengan spesifikasi stylesheet pengguna-agen 5px. Dan keduanya yang terakhir dicoret, sebagaimana mestinya.
Ada ide?
Jawaban:
Ini berfungsi untuk saya (gaya tampilan pertama bukan daftar dropdown):
http://jsfiddle.net/fMuPt/
sumber
border: 0
dan menambahkan garis besar seperti:outline: 1px inset black; outline-offset:-1px
background-color: #yourbg
danborder-style: none
kemudian buat div langsung sebelum dropdown denganposition: absolute
danborder-bottom: 1px solid #youpick
dandisplay: inline
. Panah diawetkan, tidak terluka, perbaikan lebih baik.Hanya solusi saya dengan gambar dropdown
(inline svg)
Saya menggunakan bootstrap itu sebabnya saya menggunakan
select.form-control
Anda dapat menggunakan
select{
atauselect.your-custom-class{
sebagai gantinya.sumber
width: auto;
, panah svg yang ditambahkan menindih konten yang dipilih. Ini membutuhkan bantalan tambahan di sisi kanan 16px. Namun lapisan ini terlihat di semua browser, melanggar desain di browser lain. Saya belum punya solusi untuk itu ...Jika Anda ingin batas persegi dan masih ingin panah kecil expander, saya merekomendasikan ini:
sumber
outline
pada:focus
. Jika Anda akan menggunakan jawaban ini, Anda harus mengubahselect:focus
gaya Anda untuk secara visual menunjukkan bahwaselect
elemen menjadi aktif, atau:focus
ed, pada klik.Beberapa solusi bagus di sini, tetapi yang ini tidak memerlukan SVG, mempertahankan perbatasan melalui
outline
dan menetapkannya rata pada tombol.sumber
Sementara jawaban teratas menghilangkan batas, itu juga menghilangkan panah yang membuatnya sangat sulit jika bukan tidak mungkin bagi pengguna untuk mengidentifikasi elemen sebagai pilih.
Solusi saya adalah hanya menempelkan div putih (dengan batas-radius: 0px) di belakang pilih. Atur posisinya menjadi absolut, tingginya hingga tinggi pilih, dan Anda harus baik-baik saja!
sumber
Solusi dengan panah drop-down kanan kustom, hanya menggunakan css (tanpa gambar)
sumber
background-position: calc(100% - 4px) center, 100% center;
Ini menggerakkan panah ke tengah pilih dan terus ke kanan. Terima kasih banyak untuk awal yang bagus!Salah satu cara untuk membuatnya tetap sederhana dan menghindari mengacaukan panah dan fitur lainnya adalah dengan menempatkannya dalam div dengan warna latar yang sama dengan tag pilihan.
sumber
Menghilangkan panah harus dihindari. Solusi yang mempertahankan panah dropdown adalah dengan terlebih dahulu menghapus gaya dari dropdown:
Kemudian buat div secara langsung sebelum dropdown di HTML Anda:
Dan gaya div seperti ini:
Tampilan sebaris akan menjaga div dari pergi ke baris baru, posisi absolut menghapusnya dari aliran halaman. Hasil akhirnya adalah garis bawah bersih yang bagus yang bisa Anda gaya sesuai keinginan, dan dropdown Anda tetap berlaku seperti yang diharapkan pengguna.
sumber
Kotak-bayangan inset melakukan trik.
Demo
sumber
Untuk beberapa alasan itu sebenarnya dipengaruhi oleh warna perbatasan ??? Saat Anda menggunakan warna standar, sudut tetap bulat, tetapi jika Anda mengubah warna sedikit saja pembulatannya hilang.
https://jsfiddle.net/hLg70o70/2/
sumber
baik saya mendapat solusinya. semoga dapat membantu Anda :)
sumber
Mengikuti adalah cara untuk melakukannya;
sumber
Saya menggunakan solusi jordan314, tetapi kemudian saya menambahkan kelas "border-light" untuk memilih. Jika Anda memiliki kelas border-light default yang didefinisikan dalam css, Anda dapat langsung menggunakannya. Ini hanya mendefinisikan perbatasan sebagai putih). Saya mengubah batas menjadi kuadrat / menghapus jari-jari, dan mempertahankan panah.
Inilah yang saya lakukan:
jika Anda tidak memiliki lampu border yang telah ditentukan, cukup tambahkan css Anda:
sumber
firefox: 18
sumber
Atur CSS sebagai
Coba jika berhasil.
sumber