Primefaces对话框始终显示在左下角

时间:2016-11-24 08:58:39

标签: css primefaces jsf-2

我在JSF项目中创建了一个主要对话框。它有以下代码:

<p:dialog id="abc" modal="true" position="center" 
styleClass="pdialog-gen pdialog-gen-height-ext" style="left: 340px !important;"
 draggable="false" closable="true" appendTo="@(body)" dynamic="true"
        resizable="false" widgetVar="ab">

它总是出现在左下角。虽然我想让它出现在中心。即使我使用了position属性,它仍然出现在左下角。你可以就此提出建议吗?

Edit1:当我右键单击网页并执行“检查元素”以查看代码时,如何在相应的html中呈现它,我看到下面的代码:

    <div id="abc" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-shadow pdialog-gen pdialog-gen-height-ext ui-overlay-visible" 
    style="width: auto; height: auto; left: 0px; top: 341.5px; 
visibility: visible; z-index: 1002;"
     role="dialog" aria-labelledby="abc_title" aria-hidden="false" aria-live="polite">

我不知道它采用内联式的方式。任何人都可以建议吗?

修改-2 我知道了解决方案。我为#abc写了一个CSS样式,我在左边定义:240px;解决了我的问题。线程关闭。谢谢大家。

3 个答案:

答案 0 :(得分:0)

您可能想要删除left: 340px !important;

并应用其容器margin: 0 auto;这将使其成为中心

答案 1 :(得分:0)

holder.compliance.getTag(); 似乎以默认设置为中心。 你在哪里放了p:dialog标签? 可以是样式类:

<p:dialog>

答案 2 :(得分:0)

我知道造成这个问题的两个原因。

  1. 使用JQuery-UI,它与Primefaces的库发生冲突。
  2. 将Richfaces与Primefaces一起使用也可以解决这个问题。