当有很多option的时候,下拉框会变得很长,有些业务要求下拉面板固定一定的高度,超出部分用滚动条。从别的博客能找出这样的解决方案:
<select style="position: absolute;z-index: 1;" onmousedown="if(this.options.length>3){this.size=4}" onblur="this.size=0" onchange="this.size=0" size="0">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5555555555555555555555555555555555555555</option>
</select>
注意,此时不能设置select或option的height属性,如果要求option有一定的高度,给option设置padding属性。
这种方式存在一定的缺陷,比如鼠标滑过option时没有了高亮显示,比如下拉框的宽度可能会固定死导致较长的option展示不全(可设置水平滚动条),比如不同设备不同浏览器展示效果不同,可能存在bug级的展示缺陷等等,总之得不偿失。不过如果你的业务单一,这种方式还是可行的。
不建议改变原生select的下拉框高度,如果真有这个需求,建议使用div或者ul模拟一个下拉框。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦