Saya mencoba mengganti panah pilihan dengan gambar saya sendiri. Saya termasuk seleksi dalam div dengan ukuran yang sama, saya mengatur latar belakang seleksi sebagai transparan dan saya menyertakan gambar (dengan ukuran yang sama seperti panah) di sudut kanan atas div sebagai latar belakang.
Ini hanya berfungsi di Chrome.
Bagaimana saya bisa membuatnya bekerja di Firefox dan IE9 di mana saya mendapatkan ini:
.styled-select {
width: 100px;
height: 17px;
overflow: hidden;
overflow: -moz-hidden-unscrollable;
background: url(images/downarrow_blue.png) no-repeat right white;
border: 2px double red;
display: inline-block;
position: relative;
}
.styled-select select {
background: transparent;
-webkit-appearance: none;
width: 100px;
font-size: 11px;
border: 0;
height: 17px;
position: absolute;
left: 0;
top: 0;
}
body {
background-color: #333333;
color: #FFFFFF;
}
.block label {
color: white;
}
<HTML>
<HEAD>
</HEAD>
<BODY>
<p/>
<form action="/prepareUpdateCategoryList.do?forwardto=search">
<fieldset class="block" id="searchBlock">
<p>
<label style="width:80px">Class</label>
<div class="styled-select">
<select property="voucherCategoryClass">
<option value="0">Select </option>
<option value="7382">steam </option>
</select>
</div>
</p>
</fieldset>
</form>
</BODY>
</HTML>
appearance: menulist !important;-moz-appearance: menulist !important;-webkit-appearance: menulist !important;-o-appearance: menulist !important;
Saya telah menyiapkan
select
dengan panah khusus yang mirip dengan jawaban Julio, namun itu tidak memiliki lebar yang ditetapkan dan menggunakan gambarsvg
sebagai latar belakang. (arrow_drop_down
dari ikon material-ui)Jika Anda membutuhkannya untuk juga bekerja di IE, perbarui panah svg ke base64 dan tambahkan yang berikut ini:
Untuk mempermudah ukuran dan spasi panah, gunakan svg ini:
Itu tidak memiliki spasi di sisi panah.
sumber
background-position: top 5px right 4px;
background: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>') 100% 50% no-repeat transparent;
background-position-y: 5px;
sebagai ganti% (mis.background-position-y: 50%;
)?Bekerja hanya dengan satu kelas:
http://jsfiddle.net/qhCsJ/4120/
sumber
background-position-x: calc( 100% - 5px );
Berikut ini perbaikan elegan yang menggunakan rentang untuk menunjukkan nilainya.
Tata letaknya seperti ini:
JsFiddle
sumber
Ini akan bekerja dengan baik terutama bagi mereka yang menggunakan Bootstrap, diuji dalam versi browser terbaru:
sumber
Periksa yang ini Ini hacky, sesederhana itu:
-prefix-appearance
untuknone
menghapus gayatext-indent
untuk "mendorong" konten sedikit ke kanantext-overflow
ke string kosong. Segala sesuatu yang melampaui lebarnya akan menjadi ... tidak ada! Dan itu termasuk panahnya.Sekarang Anda bebas menatanya sesuka Anda :)
Lihat di JSFiddle
sumber
Ini berfungsi di semua browser:
sumber
Beri gaya label dengan CSS dan gunakan peristiwa pointer:
dan CSS relatifnya adalah
Saya baru saja menggunakan panah bawah di sini, tetapi Anda dapat mengatur blok dengan gambar latar belakang. Berikut ini contoh biola jelek: https://jsfiddle.net/1rofzz89/
sumber
Saya merujuk posting ini , itu bekerja seperti pesona, kecuali itu tidak menyembunyikan panah di browser IE.
sumber
Asumsikan, selectDrop adalah kelas yang ada di tag HTML Anda. Jadi, banyak kode ini cukup untuk mengubah ikon panah default:
sumber