有人可以确认无法更改单击选择框时显示的下拉列表的高度。
select 的 size 属性使它看起来像一个列表,CSS 中的 height 属性也没有多大用处。
有人可以确认无法更改单击选择框时显示的下拉列表的高度。
select 的 size 属性使它看起来像一个列表,CSS 中的 height 属性也没有多大用处。
确认的。
下拉的部分设置为:
x
(使用滚动条查看剩余部分),x
其中
对于上面的 (3),您可以在此JSFiddle中看到结果
没有。无法更改选择下拉菜单的高度,因为该属性是特定于浏览器的。
但是,如果您想要该功能,那么有很多选择。您可以使用引导程序dropdown-menu
并定义它的max-height
属性。像这样的东西。
$('.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>
我一直在研究一个下拉替换 jquery 插件来解决这个问题。在这篇文章中,就外观和功能而言,它与原生下拉菜单几乎没有区别。
这是一个演示(也是下载链接): http: //programmingdrunk.com/current-projects/dropdownReplacement/
这是插件的项目页面:
http://plugins.jquery.com/project/dropdownreplacement
(更新:) jquery 插件页面似乎不再工作。当他们开始工作时,我可能不会把我的插件放在他们的新网站上,所以请随意使用programmingdrunk.com链接进行演示/下载
其实你有点可以!不要为 javascript 烦恼...我只是在我正在制作的网站上停留在同一件事上,如果您在 CSS 中为标签增加“font-size”属性,那么它也会自动增加高度。琐碎,但它让我很困扰哈哈
这不是一个完美的解决方案,但它确实有效。
在选择标签中,包括以下属性,其中“n”是可见的下拉行数。
<select size="1" position="absolute" onclick="size=(size!=1)?n:1;" ...>
这个解决方案存在三个问题。1) 在第一次鼠标单击期间显示的所有元素都会快速闪烁。2) 位置设置为“绝对” 3) 即使少于“n”个项目,下拉框仍然是“n”个项目的大小。
Chi Row的答案是解决这个问题的一个不错的选择,但我在onclick
论点中发现了一个错误。相反,将是:
<select size="1" position="absolute" onclick="size=(size!=1)?1:n;" ...>
(并提到您必须将“ n ”替换为您需要的行数)
我知道这不是更改高度的最佳做法select
,但是有一个代码可能可以帮助您更改高度。
使用标签的size
属性:select
<select onfocus='this.size=6;' onblur='this.size=6;' onfocusout='this.size=null;' onchange='this.size=6; this.blur();'>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
<option>Option 5</option>
<option>Option 6</option>
<option>Option 7</option>
<option>Option 8</option>
<option>Option 9</option>
<option>Option 10</option>
<option>Option 11</option>
<option>Option 12</option>
<option>Option 13</option>
<option>Option 14</option>
<option>Option 15</option>
</select>
你可以改变一个的高度。不要使用height="500"
(只是一个示例数字)。使用风格。您可以使用<style>
标签或只使用它:
<!DOCTYPE html>
<html>
<body>
<select id="option" style="height: 100px;">
<option value="1">Option 1
<option value="2">Option 2
</select>
</body>
</html>
我强调变化:
<select id="option" style="height: 100px;">
甚至更好...
style="height: 100px;">
你看到了吗?
有帮助就点个赞吧!