[英]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.