簡體   English   中英

primefaces組件無法與自己的CSS一起使用

[英]primefaces components not working with own css

我在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>

覆蓋PrimeFaces默認樣式時,必須指定強度至少相同的CSS選擇器或指定更強的選擇器。 CSS選擇器(級聯規則)的強度在W3 CSS規范中指定,並在本文中進行了清楚的解釋: 了解CSS中的樣式優先級:特異性,繼承和級聯

基於PrimeFaces自己的CSS,以下選擇器應執行以下操作:

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

只需將它們放在.css文件中即可,該文件由<h:outputStylesheet> <h:body>開頭的<h:outputStylesheet>包含以便將其包含 PrimeFaces自己的樣式之后。

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

也可以看看:


更新 :根據您的更新,您的CSS似乎根本沒有加載。 您應該通過驗證瀏覽器內置的webdeveloper工具集中的HTTP流量(在Chrome / IE9 / Firebug中按F12)並看到它返回HTTP 404錯誤來注意到這一點。 使用<h:outputStylesheet> ,需要將CSS文件放入Webcontent的/resources文件夾中。 因此,您必須具有/resources/css/mycss.css才能使用<h:outputStylesheet name="css/mycss.css" />

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM