Css 角度选择多选下拉列表

Css 角度选择多选下拉列表,css,dropdown,angular-chosen,Css,Dropdown,Angular Chosen,我在表单底部有一个角度选择的多选元素,我想让它成为一个下拉框,而不是一个下拉框。似乎没有下拉选项。 select元素生成的html如下所示: <select multiple chosen> <div class="chosen-container chosen-container-multi"> <ul class="chosen-choices"> ... </ul> &l

我在表单底部有一个角度选择的多选元素,我想让它成为一个下拉框,而不是一个下拉框。似乎没有下拉选项。 select元素生成的html如下所示:

    <select multiple chosen>
    <div class="chosen-container chosen-container-multi">
       <ul class="chosen-choices">
       ...
       </ul>
       <div class="chosen-drop">
       ...
       </div>
    </div>

    ...
...
这是我想升上去的,被选中的投手

如果我设置.selected drop元素的css top值以将元素移动到正确的位置,它的定位是完美的,但是在过滤列表时,如果没有或很少找到项目,下拉列表将相对于下拉元素的顶部收缩,在下拉列表(父div上方)和父div的顶部之间留下一个间隙

如果我设置.selected drop元素的css底部值以将其移动到父元素上方,则过滤项会使其向下收缩,消除下拉列表和父div之间的间隙,但一旦选择更多项,父div的高度就会增加,从而更改下拉列表(dropup)框的所需位置。这是因为css bottom值保持.selected drop div的底部相对于其父div的底部


是否有某种方法可以设置.selected drop div相对于其父div顶部的底部值

通过在css中使用calc()计算动态差异,您可以在父div可能增大时,将所选拖放位置的底部设置为公式:

。选择下拉菜单{
底部:钙(100%-px);
}

100%表示要从父div的高度中减去多少,px表示要在div的“底部”上方添加的填充量(以像素为单位)。您可以使用calc进行简单的计算,我认为这是css3中添加的一个漂亮特性

在您的情况下,您希望您的
所选drop
div正好位于其父级的顶部(即div的全高):

。选择下拉菜单{
底部:钙(100%);
}

或者只是

。选择下拉菜单{
底部:100%;
}


不过我应该提到,
calc()
是一个标准,可能与旧浏览器不兼容。您可以阅读更多令人兴奋的发展,如
calc()

您的答案非常简单…谢谢。我想只有一种学习方法。