如何从特定PrimeFaces删除边框p:panelGrid?

Ele*_*ist 57 css jsf facelets primefaces

我很难从特定的PrimeFaces中删除边界<p:panelGrid>.

<p:panelGrid styleClass="companyHeaderGrid">
    <p:row>
        <p:column>
            Some tags
        </p:column>
        <p:column>
            Some tags
        </p:column>
    </p:row>
</p:panelGrid>
Run Code Online (Sandbox Code Playgroud)

我已经能够从单元格中删除边框:

.companyHeaderGrid td {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

.companyHeaderGrid {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

不行.

Bal*_*usC 101

边框是在生成的trtd元素上设置的,而不是在table.所以,这应该做:

.companyHeaderGrid.ui-panelgrid>*>tr,
.companyHeaderGrid.ui-panelgrid .ui-panelgrid-cell {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

我怎么找到的?只需检查Chrome的webdeveloper工具集中生成的HTML输出和所有CSS样式规则(右键单击,检查元素或按F12).Firebug和IE9有类似的工具集.至于混淆,请记住,JSF/Facelets最终会生成HTML,而CSS只适用于HTML标记,而不适用于JSF源代码.因此,要应用/微调CSS,您需要查看客户端(webbrowser)方面.

在此输入图像描述

也可以看看:


如果您仍然使用PrimeFaces 4或更早版本,请使用以下代码:

.companyHeaderGrid.ui-panelgrid>*>tr,
.companyHeaderGrid.ui-panelgrid>*>tr>td {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

  • @JohnB:如果您正确地获得CSS加载顺序,则不需要`!important`:http://stackoverflow.com/questions/8768317/how-do-i-override-those-classes-defined-in-primefaces-css/8774997#8774997另请参阅下面的Andi答案和我的评论.如果存在解决方案,请不要使用变通方法.仅使用`!important`作为真正的解决方案(即当您需要通过CSS选择器声明覆盖硬编码的`style ="..."`时). (4认同)

Mr.*_*r.Q 29

我正在使用Primefaces 6.0,为了从我的面板网格中删除边框,我使用这个样式类"ui-noborder"如下:

<p:panelGrid columns="3" styleClass="ui-noborder">
   <!--panel grid contents -->
</p:panelGrid>
Run Code Online (Sandbox Code Playgroud)

它在primefaces lib中使用名为"components"的css文件


小智 21

这对我有用:

.ui-panelgrid td, .ui-panelgrid tr
{
    border-style: none !important
}


Pau*_*ski 12

如果BalusC答案不起作用,试试这个:

.companyHeaderGrid td {
     border-style: hidden !important;
}
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于PrimeFaces之后未加载自己的CSS,这确实是常见的启动器错误.然后`!important`声明实际上是一种解决方法,而不是解决方案.有关详细信息,请参阅http://stackoverflow.com/questions/8768317/how-do-i-re-write-those-class-defined-in-primefaces-css/8774997#8774997 (7认同)

Aje*_*esh 5

如果您在列之间找到一条线,请使用以下代码,

.panelNoBorder, .panelNoBorder tr, .panelNoBorder td{
border: hidden;
border-color: white;
}
Run Code Online (Sandbox Code Playgroud)

我用 Primefaces 5.1 检查过这个

<h:head>
     <title>Login Page</title>    
     <h:outputStylesheet library="css" name="common.css"/>
</h:head> 

<p:panelGrid id="loginPanel" columns="3" styleClass="panelNoBorder">
<p:outputLabel value="Username"/> <p:inputText id="loginTextUsername"/>
<p:outputLabel value="Password"/> <p:password id="loginPassword"/>
<p:commandButton id="loginButtonLogin" value="Login"/> <p:commandButton id="loginButtonClear" value="Clear"/>
</p:panelGrid>  
Run Code Online (Sandbox Code Playgroud)