html - 以角度设置下拉选项高度
问题描述
我正在创建一个下拉列表,其中包含 20/30 值。
.select-css {
display: block;
font-size: 16px;
color: #fff;
padding: 10px 15px;
width: 100%;
max-width: 100%;
box-sizing: border-box;
border-radius:20px;
margin: 0;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
border:0px;
background-color: #8ed124;
background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
linear-gradient(to bottom, #8ed124 0%,#8ed124 100%);
background-repeat: no-repeat, repeat;
background-position: right .7em top 50%, 0 0;
background-size: .65em auto, 100%;
}
.select-css::-ms-expand {
display: none;
}
.select-css:hover {
border-color: #fff;
}
.select-css:focus {
outline: none;
}
.select-css option {
font-weight:normal;
background:#fff; color:#000; border:0;
}
<select class="select-css" onmousedown="if(this.options.length>5){this.size=5;}" onchange='this.size=0;' onblur="this.size=0;">
<option value="" disabled selected>Value</option>
<option> 1 </option>
<option> 4 </option>
<option> 3 </option>
<option> 2 </option>
<option> 5 </option>
<option> 5 </option>
<option> 11 </option>
<option> 12</option>
<option> 13</option>
<option> 15</option>
<option> 16</option>
<option> 13</option>
<option> 1 </option>
</select>
现在,如果您运行代码,它将立即显示整个项目值。我想设置下拉菜单的高度,以便它只能显示 5 个值,其余的,我们可以向下滚动。
我尝试使用 max-height 选项,但它不起作用。
//现在更新 我尝试了解决方案,但它将背景颜色设为绿色,直到我想要删除的长度。
同样在下拉列表之后,我有另一个部门,因此下拉列表正在重新定位 div。我不知道为什么有人可以提出建议
解决方案
我无法抗拒(这是一个“怪诞”的想法)基于引导程序
<div class="container">
<div style="position:relative">
<div class="drop-down w-100">
<input class="form-control" [class.rounded-top]="focus"
[formControl]="control" (focus)="onFocus(select)" >
</div>
<select #select
class="form-control rounded-0 select"
size="5"
[style.visibility]="focus?'visible':'hidden'"
[ngModel]="control.value"
(ngModelChange)="control.setValue($event)"
(click)="focus=false"
(blur)="focus=false"
(keydown.enter)="focus=false" >
<option *ngFor="let i of [0,1,2,3,4,5,6,7,8,9,10]">{{i}}</option>
</select>
</div>
.select
{
position:absolute;
outline:none;
box-shadow:none;
border-color:silver;
}
.drop-down{
position: relative;
display: inline-block;
}
.drop-down:after{
position:absolute;
top:1rem;
right: 1rem;
display: inline-block;
margin-left: .255em;
vertical-align: .255em;
content: "";
border-top: .3em solid;
border-right: .3em solid transparent;
border-bottom: 0;
border-left: .3em solid transparent;
}
.rounded-top
{
border-bottom-left-radius: 0!important;
border-bottom-right-radius: 0!important
}
推荐阅读
- python - Pandas:根据条件获取索引号
- php - 如何从 php 中的 Celery Redis 后端获取结果?
- docker - Dockerfile Build Error:系统找不到指定的路径
- ios - 无法上传到 App Store Connect 并出现错误“未找到具有 App Store Connect 访问权限的帐户”
- python - 如何使用 HTML 保存 matplotlib 图形以保持动态功能(缩放...)?
- flutter - 为 Flutter 制作多个 Laravel Echo 实例
- python - 如何获得序列模型 Sklearn 的给定预测的概率
- r - 循环输出存储为列表
- html - 如何在全屏视频中显示徽标?
- c# - 在多个子类中覆盖 dispose 方法