css - GWT - PopupPanel,翻转时更改布局

标签 css gwt popup

我正在使用 PopupPanel 为某些元素创建上下文菜单;菜单本身将相当大且复杂。我想要做的是有一个按钮列表,加上一个图像和一些文本,与单击的元素相关。

我的问题是我希望按钮总是直接显示在被点击的元素下面,因为这对用户来说很方便;问题是当 PopupPanel 靠近屏幕边缘时,它会自动更改位置以完全可见,而不是像往常一样将其左侧与元素对齐。我喜欢这种行为,但它会将按钮的位置移开。

所以我希望发生的事情是:按钮通常在面板的左侧,其他东西在右侧。当面板靠近屏幕右侧时,我希望按钮位于右侧(因此位于单击的元素下方),而其他内容位于左侧。

是否有一种聪明的方法可以在 GWT 或更好的情况下仅使用 CSS 来做到这一点?遗憾的是,PopupPanel 本身似乎并没有告诉您它何时会翻转。我目前唯一的解决方案是在显示之前手动检查弹出窗口的位置和宽度并进行相应调整,但我希望有更好的解决方案。

最佳答案

这是我的建议(基于我自己对类似用例的实现):

  • 让位置回调实现接受引用(在构造函数中):
    • 弹出面板元素
    • 用户有权点击的元素
    • 您在 PopupPanel 中放入的内容
  • 复制(我知道这不是 DRY 但实现是包私有(private)的)默认位置回调的代码
  • 当向右打开时调用更改内容布局的方法(基于 CSS 或其他方式)

希望对你有所帮助。如果您发现更好的东西,请告诉我。

关于css - GWT - PopupPanel,翻转时更改布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889294/

相关文章:

Javascript 确认弹出窗口是,否按钮而不是确定和取消

java - 来电弹出错误 : Unable to add window android. view.ViewRootImpl$W@e5b2272 -- 窗口类型 2003 的权限被拒绝

html - margin-top 未按预期计算

html - 交替表行颜色,第一行使用不同的颜色

html - 并排显示 Gwt SuggestBox 单元格

java - gwt 2.4.0 空白页仅适用于 IE

css - jquery-ajax 表单提交修改css

javascript - 单击 X 关闭菜单

css - 已选择 GWT StackPanel

android - 单击电话 : link 时抑制 native 对话框