zoukankan      html  css  js  c++  java
  • 给select标签设置下拉框高度

    最近的需求涉及有下拉框,突然想到如果下拉选项过多的话可能要对下拉框的高度做一下限制,查了一下select标签,有size这个属性,原以为可以实现。

    <!DOCTYPE html>
    <html>
    <body>
    
    <select size="3" style="100px">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option>
      <option value="audi">Audi</option>
      <option value="audi2">Audi2</option>
      <option value="audi3">Audi3</option>
      <option value="audi4">Audi4</option>
      <option value="audi5">Audi5</option>
    </select>
      
    </body>
    </html>
    

      实际如下显示:

    直接只设置size的话,select标签占size所设置的行数,并在size内滚动。

    给select标签设置事件实现限制下拉选项过长时的效果

    onmousedown:当选项数量超出某个值时,限制最大显示数量。

    onblur:鼠标离开则收缩回一行

    onchange:确定选项时收缩回一行

    <!DOCTYPE html>
    <html>
    <body>
    
    <select style="100px" onmousedown="if(this.options.length>3){this.size=4}" onblur="this.size=1" onchange="this.size=1">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option>
      <option value="audi">Audi</option>
      <option value="audi2">Audi2</option>
      <option value="audi3">Audi3</option>
      <option value="audi4">Audi4</option>
      <option value="audi5">Audi5</option>
    </select>
    </body>
    </html>
    

      实现效果:

    未触发时:

    触发时:

    选择选项后:

    11-22补充:

    在没有加这几个事件的情况下,select标签的下拉框高度在不同的浏览器下有不同的高度,如果不是刻意要统一高度,可以不做限制。

  • 相关阅读:
    bzoj1904: Musical Water-fence
    bzoj3822: 文学
    bzoj1513: [POI2006]Tet-Tetris 3D
    bzoj4130: [PA2011]Kangaroos
    bzoj2515 Room
    bzoj2518: [Shoi2010]滚动的正四面体
    bzoj4617: [Wf2016]Spin Doctor
    bzoj3086: Coci2009 dvapravca
    bzoj3745: [Coci2015]Norma
    bzoj1837: [CROATIAN2009]cavli 凸包1
  • 原文地址:https://www.cnblogs.com/basterdaidai/p/8083214.html
Copyright © 2011-2022 走看看