PrimeFaces 3.0 - 如何覆盖对话框叠加层的默认不透明度?

Jim*_*ugh 2 css java dialog primefaces jsf-2

我正在使用PrimeFaces 3.0和JSF 2.0.在我的webapp中,当用户的浏览器空闲了一段时间后,我在页面上显示一个模态对话框,这会通过Ajax调用触发服务器端的会话失效.在浏览器上,模式对话框显示一条简单的消息,表明会话因超出空闲时间限制而终止.一切正常(见截图).

编辑:更新了"appendToBody"修复

在此输入图像描述

这是我的Facelet页面中的代码:

    <p:idleMonitor timeout="#{initParam[clientSideIdleThreshold]}">
        <p:ajax
            event="idle"
            listener="#{logoutBean.idleListener}"
            oncomplete="idleDialog.show()" />
        <p:ajax
            event="active"
            listener="#{logoutBean.activeListener}" />
    </p:idleMonitor>
    <p:dialog
            header="Session Exceeded Idle Limit"
            widgetVar="idleDialog"
            modal="true"
            fixedCenter="true"
            closable="false"
            draggable="false"
            resizable="false"
            appendToBody="true"
            height="200"
            width="400">
        <h:outputText value="Session Terminated" />
    </p:dialog>
Run Code Online (Sandbox Code Playgroud)

我想要做的是覆盖PrimeFaces对话框覆盖的默认不透明度,使其更加不透明.有谁知道如何做到这一点?

我希望这可以通过将一些CSS放在正确的位置来实现,因为我真的想避免编写任何JavaScript来实现这一点.

用户环境的目标浏览器是IE 6和7.

For*_*ega 6

在你的CSS中:

.ui-widget-overlay {
    opacity: 0.8;
}
Run Code Online (Sandbox Code Playgroud)

或其他一些价值:)

但是你需要确保你显示的对话框是modal(<p:dialog modal="true"),否则不会显示叠加.