Dapatkah seseorang mengonfirmasi bahwa tidak mungkin mengubah ketinggian dropdown yang ditampilkan saat Anda mengklik kotak pilih.
Atribut ukuran yang dipilih membuatnya terlihat seperti daftar, atribut ketinggian di CSS juga tidak banyak membantu.
Dapatkah seseorang mengonfirmasi bahwa tidak mungkin mengubah ketinggian dropdown yang ditampilkan saat Anda mengklik kotak pilih.
Atribut ukuran yang dipilih membuatnya terlihat seperti daftar, atribut ketinggian di CSS juga tidak banyak membantu.
Jawaban:
Dikonfirmasi.
Bagian yang turun disetel ke:
x
entri (dengan scrollbar untuk melihat sisa), di mana x
adalah
Untuk (3) di atas Anda dapat melihat hasilnya di JSFiddle ini
Saya telah mengerjakan plugin jquery pengganti dropdown untuk mengatasi masalah ini. Pada posting ini, hampir tidak bisa dibedakan dari dropdown asli dalam hal tampilan dan fungsionalitas .
berikut adalah demo (juga tautan ke unduhan): http://programmingdrunk.com/current-projects/dropdownReplacement/
berikut adalah halaman proyek plugin:
http://plugins.jquery.com/project/dropdownreplacement
(update :) halaman plugin jquery sepertinya tidak berfungsi lagi. Saya mungkin tidak akan meletakkan plugin saya di situs baru mereka ketika mereka membuatnya berfungsi, jadi silakan gunakan tautan programmingdrunk.com untuk demo / unduh
TIDAK . Tidak mungkin mengubah tinggi dari drop-down pilih karena properti tersebut khusus browser.
Namun jika Anda menginginkan fungsionalitas itu, maka ada banyak pilihan. Anda dapat menggunakan bootstrap dropdown-menu
dan menentukan max-height
propertinya. Sesuatu seperti ini.
$('.dropdown-menu').on( 'click', 'a', function() {
var text = $(this).html();
var htmlText = text + ' <span class="caret"></span>';
$(this).closest('.dropdown').find('.dropdown-toggle').html(htmlText);
});
.dropdown-menu {
max-height: 146px;
overflow: scroll;
overflow-x: hidden;
margin-top: 0px;
}
.caret {
float: right;
margin-top: 5%;
}
#menu1 {
width: 160px;
text-align: left;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container" style="margin:10px">
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Tutorials
<span class="caret"></span></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">About Us</a></li>
</ul>
</div>
</div>
Sebenarnya Anda semacam bisa! Jangan repot-repot dengan javascript ... Saya hanya terjebak pada hal yang sama untuk situs web yang saya buat dan jika Anda meningkatkan atribut 'font-size' di CSS untuk tag maka secara otomatis meningkatkan tinggi juga. Kecil tapi itu sesuatu yang sangat menggangguku ha ha
Ini bukan solusi yang sempurna, tetapi berhasil.
Di tag pemilihan, sertakan atribut berikut di mana 'n' adalah jumlah baris drop-down yang akan terlihat.
<select size="1" position="absolute" onclick="size=(size!=1)?n:1;" ...>
Ada tiga masalah dengan solusi ini. 1) Ada kilatan cepat dari semua elemen yang ditampilkan selama klik mouse pertama. 2) Posisi diset ke 'absolute' 3) Walaupun ada kurang dari 'n' item kotak dropdown akan tetap untuk ukuran item 'n'.
Jawaban Chi Row adalah pilihan yang baik untuk masalah tersebut, tetapi saya telah menemukan kesalahan dalam onclick
argumennya. Sebaliknya, akan menjadi:
<select size="1" position="absolute" onclick="size=(size!=1)?1:n;" ...>
(Dan sebutkan Anda harus mengganti " n " dengan jumlah baris yang Anda butuhkan)
Anda dapat mengubah tinggi salah satunya. Jangan gunakan height="500"
(Hanya nomor contoh). Gunakan gaya. Anda dapat menggunakan <style>
tag atau hanya menggunakan ini:
<!DOCTYPE html>
<html>
<body>
<select id="option" style="height: 100px;">
<option value="1">Option 1
<option value="2">Option 2
</select>
</body>
</html>
Saya menyoroti perubahan:
<select id="option" style="height: 100px;">
Dan bahkan lebih baik ...
style="height: 100px;">
Kamu melihatnya?
Silakan pilih jika itu membantu!
<select>
elemen, bukan elemen itu sendiri. Saya menanyakan pertanyaan ini lebih dari 10 tahun yang lalu ketika menata widget ini praktis tidak mungkin. Saya yakin ini tidak lagi terjadi.