我的页面底部有一个selectOneMenu,默认情况下,当我点击它时,菜单会下降到页面底部。有没有办法让它向后渲染(即向上)?
答案 0 :(得分:1)
如果下拉列表下方没有视口空间,那么自尊的浏览器就会自动执行此操作。
如果您希望总是将其删除,即使视口中有足够的空间将其删除,那么您唯一的解决方案是将其变为<ul><li>
并投入一堆CSS / JS代码使它看起来像下拉列表 dropup。我使用关键字“dropup”搜索并找到了这些示例:
更新:哦,男孩,你为什么不从一开始就提到你使用PrimeFaces'<p:selectOneMenu>
?由于您没有提及有关第三方组件库的任何内容,因此我认为它是标准的JSF <h:selectOneMenu>
。 PrimeFaces生成一个<ul><li>
来实现性感的外观!
我不会深入挖掘整个PrimeFaces CSS给你一个细粒度的答案,但首先,你需要在自定义CSS中设置以下样式:
.ui-selectonemenu-panel {
position: absolute !important;
bottom: 0 !important;
}
这将导致菜单上升而不是下降。有一些风格的错误行为(它隐藏了当前的选择),但这取决于你(只需将bottom
微调到30px
或其他东西)。否则,您也可以使用<h:selectOneMenu>
并将作业委派给浏览器。