2012-03-12 15 views
1

JSF 2.0を使用して私の最初のプロジェクトを開発していますので、これが愚かな質問である場合は私を許してください。しかし、私はグーグルでこの質問に答えを見つけることはできません。 (仮定CSSのJSF 2.0コンポーネントをターゲットにする

body { 
    padding-top: 60px; 
} 

私のHTMLファイルが<body>タグを使用する場合、これは正常に動作しますが、私は<h:body>を使用している場合は動作しません:基本的に

、私は例として、このスタイルを追加し、スタイルシートを持っていますショートカット "h"を持つJSF HTML taglibをインポートします)。

これは他のコンポーネントと同じです。これは、特にフォームコンポーネントのスタイルを設定するときに苦痛です。

ご協力いただければ幸いです。ありがとう。

答えて

4

が、私は(私はショートカット「H」とJSF HTMLタグライブラリをインポートすると仮定した場合)<h:body>を使用している場合は動作しません。

これはない真です。 JSFはWebサーバーで動作します。 JSFはHTMLを生成します。 WebサーバーはこのHTMLをブラウザーに送信します。すべてのブラウザはJSFソースコード自体ではなく、JSF生成HTMLです。 CSSはブラウザのみで動作します。 CSSが動作するのはJSFで生成されたHTMLだけです。ブラウザでJSFページを開き、右クリックしてソースを表示自分で確認してください。 <h:body><body>になりました。

あなたのCSSに問題がある場合、その原因は他の場所です。少なくとも、JSFソースコードではなく、JSF生成HTML出力に基づいてCSSを設計する必要があります。

+0

実際、この**は真です。私は、JSFがHTMLをブラウザにレンダリングする方法の背後にあるコンセプトを理解しています。あなたはそうはならないと言っているのは間違いありません。私はそれを理解しています。私の問題は、それが**起こっていることです**。 問題は、私の質問に詳述されているとおりに起こります。 ''タグを ''タグに変更すると、CSSはその要素にはレンダリングしません。 –

+2

したがって、ブラウザは解析されていないJSFソースコードを取得しましたか?ブラウザは「」の代わりに「」を検索しましたか?それは、 'FacesServlet'が呼び出されていないことを意味します。ブラウザのアドレスバーのリクエストURLが ''に一致するようにするか、簡単に '* .jsf'のような仮想URLを使う必要がないように、' 'を' * .xhtml'に変更してください。言ったように、これはまったく異なる問題の原因です:) – BalusC

+0

乾杯、多くの感謝。 –

関連する問題