【问题标题】:Dropdown over div borders (div with scroll:auto)div 边框上的下拉菜单(带滚动的 div:auto)
【发布时间】:2017-11-15 05:46:58
【问题描述】:

如果内容太长,我有一个需要滚动的 div。 现在我在这个 div 中添加了一个选择框(使用 jQuery Plugin MultipleSelect 设置样式)。当我打开下拉菜单时,选项“丢失”/不可见。

    #samplediv {
      overflow: auto;
      max-height: 100px;
    }
    <div id="samplediv">
        Lorem ipsum<br/>
        <select class="w300" multiple="multiple">
            <option value="1">January</option>
            <option value="2">February</option>
            <option value="3">March</option>
            <option value="4">April</option>
            <option value="5">May</option>
            <option value="6">June</option>
            <option value="7">July</option>
            <option value="8">August</option>
            <option value="9">September</option>
            <option value="10">October</option>
            <option value="11">November</option>
            <option value="12">December</option>
        </select>
        <br/>dolor sit
    </div>

【问题讨论】:

    标签: jquery css select overflow dropdown


    【解决方案1】:

    添加可见的溢出

    #samplediv{
        overflow: visible;
        max-height: 100px;
    }
    

    正确答案:

    解决滚动添加绝对位置到选择框并制作一个假空间div以模拟来自选择fiddle的空间,因为这将具有绝对位置,所以使用jquery滚动减少模拟静态位置div 滚动时的 top 属性

    【讨论】:

    • 哦等等.....它现在确实显示了整个下拉列表,但是如果 div 内容的其余部分长于 100px 最大高度,则它不再显示任何滚动条.. 更新的小提琴:jsfiddle.net/SchweizerSchoggi/uz0gbbyf/1
    • 尝试删除max-height: 100px;;或者根据需要增加它。
    • 不幸的是,这里无法删除或增加。 Div 可以包含数百行,但应该只有大约 10 行可见,其余的应该是可滚动的。嗯....
    • 我更正了答案,您可以在新小提琴上检查它..不幸的是还有另一个问题,选择不会滚动,因为它具有绝对位置...
    • Thx,但这绝对是个问题,因为像这样的选择出现在 div 中的每一行 x 中,所以它无法保持其位置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 2016-11-11
    • 2015-02-26
    相关资源
    最近更新 更多