2

我在我的 java ee 应用程序中使用现成的模板(带有 css 和 j 查询)。除 primefaces 3.2 的 panelgrid 控件外,所有 primefaces 组件均已正确渲染。它以边框显示。我想要它没有边界。我已经从自定义现成模板的 css 中删除了所有表格样式。边界仍然存在。当我删除现成的模板时,panelgrid 完美呈现,没有任何边框。我如何删除边框,这个问题的原因是什么?

编辑: xhtml文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">

<h:head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AP administration panel - A massive administration panel</title>



</h:head>

<h:body>

    <div>
    <h:form>
        <p:panelGrid columns="2" style="border: none">
        <h:outputText value="scrip symbol"/>
        <p:inputText value=""/>
        <p:commandButton value="submit"/>
        </p:panelGrid>

    </h:form>


    </div>




</h:body>

</html>
4

1 回答 1

5

覆盖 PrimeFaces 默认样式时,您必须指定至少具有相同强度的 CSS 选择器或指定更强的选择器。CSS 选择器的强度(级联规则)在W3 CSS 规范中指定,并在这篇文章中明确解释:了解 CSS 中的样式优先级:特异性、继承和级联

基于 PrimeFaces 自己的 CSS,以下选择器应该做:

.ui-panelgrid tr, .ui-panelgrid td {
    border: none;
}

只需将它们放在.css您包含<h:outputStylesheet>在开头的文件中,<h:body>以便PrimeFaces 自己的样式之后包含它。

<h:body>
    <h:outputStylesheet name="layout.css" />
    ...
</h:body>

也可以看看:


更新:根据您的更新,您的 CSS 似乎根本没有加载。您应该已经通过验证浏览器内置 webdeveloper 工具集中的 HTTP 流量(在 Chrome/IE9/Firebug 中按 F12)并看到它返回了 HTTP 404 错误来注意到这一点。使用<h:outputStylesheet>时需要将 CSS 文件放在/resourceswebcontent 的文件夹中。所以你必须有一个/resources/css/mycss.css才能使用<h:outputStylesheet name="css/mycss.css" />

也可以看看:

于 2012-06-07T18:29:33.677 回答