Primefaces日历在窗口旋转时不会重新调整其位置

时间:2019-02-21 09:09:22

标签: css jsf primefaces

我在移动设备(平板电脑)上呈现的网页上遇到了primefaces日历问题。似乎素数计算出来的用于显示弹出日历的css值不会在窗口旋转时重新计算(您需要再次单击它以重新计算)。

这里是一个例子:

  1. 我的网页以纵向模式显示。我单击了日历图标,弹出窗口的位置很好: enter image description here

(请注意左侧的css:719.406px,由primefaces计算)。到目前为止一切正常。

  1. 现在我旋转到横向模式: enter image description here

请注意,弹出菜单不再位于日历图标附近。此外,css指出,通过具有相同的左值。

  1. 为了使其正确,我需要单击屏幕上的任意位置以关闭弹出窗口,然后再次单击日历图标:

enter image description here

现在位置很好,左侧的正确值是1061.91px。

如何使素数自动重新调整css,而不必每次都双击?

到目前为止,为我找到的解决方案是为屏幕的右对齐添加一个自定义值,并覆盖左对齐:

.ui-datepicker.ui-widget.ui-widget-content {
  left: auto !important;
  right: 10px; 
}

但是上面的解决方案非常适合此屏幕,幸运的是,由于我总是在屏幕的右侧显示日历按钮,因此我始终可以假设从右侧开始的10个像素看起来可以。

我还注意到ui-datepicker-div是body元素的子元素,因此无法将其与具有CSS的按钮链接。

任何对常规解决方案的想法/帮助将不胜感激。 Primefaces版本:6.2

1 个答案:

答案 0 :(得分:4)

此问题已通过Primefaces 7.0.RC3修复。 它在一周前发布。 https://mvnrepository.com/artifact/org.primefaces/primefaces/7.0.RC3