2

Java eeアプリで既製のテンプレート(cssとj-queriesを使用)を使用しています。Primefaces 3.2のパネルグリッドコントロールを除いて、すべてのprimefacesコンポーネントが適切にレンダリングされます。枠線で表示されます。国境のないものが欲しい。カスタムの既製テンプレートのCSSからすべてのテーブルスタイルを削除しました。まだ国境はあります。既製のテンプレートを削除すると、パネルグリッドは境界線なしで完全にレンダリングされます。境界線を削除するにはどうすればよいですか?この問題の原因は何ですか?

編集済み: 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;
}

PrimeFaces 独自のスタイルのにインクルードされるように、.cssファイル<h:outputStylesheet>の先頭にインクルードするだけです。<h:body>

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

以下も参照してください。


更新: 更新によると、CSS がまったく読み込まれていないようです。これは、ブラウザーに組み込まれている Web 開発者ツールセット (Chrome/IE9/Firebug で F12 キーを押す) で HTTP トラフィックを検証し、HTTP 404 エラーが返されたことに気付くはずです。ご利用の際は、CSSファイルをwebcontent<h:outputStylesheet>のフォルダに入れる必要があります。/resourcesしたがって、/resources/css/mycss.cssを使用するには、 が必要<h:outputStylesheet name="css/mycss.css" />です。

以下も参照してください。

于 2012-06-07T18:29:33.677 に答える