手记

html select下拉框高度的设置

当有很多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模拟一个下拉框。

0人推荐
随时随地看视频
慕课网APP