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

act*_*rdc 5 css jsf primefaces

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

这是一个例子:

  1. 我的网页以纵向模式显示。我单击了日历图标,弹出窗口的位置很好: 在此处输入图片说明

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

  1. 现在我旋转到横向模式: 在此处输入图片说明

请注意,弹出框不再位于日历图标附近。而且,css通过具有相同的左值来说明这一点。

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

在此处输入图片说明

现在的位置很好,左侧的值正确且不同:1061.91px。

如何使Primefaces自动重新调整CSS,而不必每次都双击?

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

.ui-datepicker.ui-widget.ui-widget-content {
  left: auto !important;
  right: 10px; 
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Mir*_*lbu 4

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