创建带有滚动条的下拉列表
create dropdown list with scrollbar
我有一个HTML下拉列表与列表的选项。当用户单击下拉列表时,应该看到前五个带有滚动条的选项。我想用JavaScript和CSS实现这一点。因为我是新的这些,请建议我如何显示下拉列表与滚动条,以便能够滚动并从下拉列表中选择一个选项。下面是我的HTML代码:
<html>
<body>
<select>
<option value="one">Option1</option>
<option value="two">Option2</option>
<option value="three">Option3</option>
<option value="four">Option4</option>
<option value="five">Option5</option>
<option value="siz">Option6</option>
<option value="seven">Option7</option>
<option value="eight">Option8</option>
</select>
</body>
</html>
使用上面的html代码,当用户单击下拉列表时,所有选项都可以看到,而不需要滚动条。我想用滚动条显示前五个选项
试试我添加到jsfiddel
的https://jsfiddle.net/Ltkpshm9/示例或者直接使用
<select name="select1" onmousedown="if(this.options.length>5){this.size=5;}" onchange='this.size=0;' onblur="this.size=0;">
<option value="one">Option1</option>
<option value="two">Option2</option>
<option value="three">Option3</option>
<option value="four">Option4</option>
<option value="five">Option5</option>
<option value="siz">Option6</option>
<option value="seven">Option7</option>
<option value="eight">Option8</option>
</select>
您可以使用html和css来做到这一点。您需要创建一个div,它将包含您的按钮以及"下拉"div内的链接列表。在实际的css下拉div中,您应该指定一个max-height来调整要显示的链接数量,以及overflow:auto来使其可滚动。包括图片的截图,下面是一个使用HTML和内联CSS的例子:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
max-height: 200px;
overflow: auto;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
</head>
<body>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Option 1</a>
<a href="#">Option 2</a>
<a href="#">Option 3</a>
<a href="#">Option 4</a>
<a href="#">Option 5</a>
<a href="#">Option 6</a>
<a href="#">Option 7</a>
<a href="#">Option 8</a>
</div>
</div>
</body>
</html>
*另外,我刚刚意识到我创建了一个带有链接的示例,而您的示例使用了option元素,但应该适用相同的概念。只需编辑下拉菜单内容类的css,使其包含选项:
.dropdown-content a, option {//same css here}
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 单击下拉列表时保持滚动位置(javascript)
- ASP.NET 显示单选按钮列表和下拉列表的进度条/加载
- 将引导程序下拉选择滚动条居中到所选项目
- 如何使用Javascript防止页面滚动上的剑道下拉列表崩溃
- Extjs 4.2.1滚动到组合下拉列表中的选择
- 制作不带下拉列表的可滚动列表
- Twitter引导程序下拉列表创建了一个滚动条
- 对加载相关下拉列表的性能影响,最多约30000条记录
- 创建带有滚动条的下拉列表
- 下拉列表的滚动条
- 可滚动下拉列表
- JQuery选择的下拉列表在放置在滚动条内时会被"剪切"
- 剑道UI下拉列表移动滚动