在包含p:panelGrid的p:列内右对齐

时间:2014-07-25 13:11:33

标签: css jsf primefaces jsf-2.2

鉴于以下<p:panelGrid>

<p:panelGrid style="width: 25%;">
    <p:row>
        <p:column style="text-align: right;">
            a
        </p:column>
    </p:row>
</p:panelGrid>

<p:column>内的文字正确对齐,如下所示。

enter image description here

我需要在<p:panelGrid>内显示另一个<p:column>,如下所示。

<p:panelGrid style="width: 25%;">
    <p:row>
        <p:column style="text-align: right;">
            <p:panelGrid>
                <p:row>
                    <p:column>
                        b
                    </p:column>
                </p:row>
            </p:panelGrid>
        </p:column>
    </p:row>
</p:panelGrid>

text-align: right;的样式属性<p:column>在这种情况下无效。

enter image description here

如何将内部<p:panelGrid>对齐?

3 个答案:

答案 0 :(得分:1)

在内部面板网格上应用样式

<p:panelGrid style="text-align: right; display:inline-block">

答案 1 :(得分:1)

为面板添加类并应用如下所示的样式。

 <p:panelGrid style="width: 25%;" styleClass="mytest">
 <p:row>
    <p:column>
        <p:panelGrid>
            <p:row>
                <p:column>
                    b
                </p:column>
            </p:row>
        </p:panelGrid>
    </p:column>
 </p:row>
</p:panelGrid>

<强> CSS

.mytest td
{
  text-align:right;
}

如果不行,请尝试下面的内容。

.mytest td
{
  float:right;
}

答案 2 :(得分:1)

由于panelGrid是一个表,你可以将它浮动到右边:

 <p:panelGrid style="width: 25%;">
    <p:row>
       <p:column>
           <p:panelGrid style="float: right">
               <p:row>
                   <p:column>
                       b
                   </p:column>
               </p:row>
           </p:panelGrid>
       </p:column>
   </p:row>
 </p:panelGrid>