ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS でコロンを含む ID を使用して JSF コンポーネントのスタイルを設定するにはどうすればよいですか?

CSS でコロンを含む ID を使用して JSF コンポーネントのスタイルを設定するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-22 00:49:23
オリジナル
339 人が閲覧しました

How to Style JSF Components with Colon-Containing IDs in CSS?

CSS セレクターでコロンを使用して JSF で生成された識別子をターゲットにする方法

JSF アプリケーションでは、コンポーネントがコロンを含むクライアント ID でレンダリングされる場合があります。 「phoneForm:phoneTable」のように。これらのコロンは、疑似クラスを示すためにコロンを使用する CSS セレクターの構文と競合する可能性があります。

1。コロンをエスケープします:

バックスラッシュ () を使用してコロンをエスケープします。これはほとんどのブラウザで機能します。

#phoneForm\:phoneTable {
    background: pink;
}
ログイン後にコピー

2.スペースでエスケープしたバックスラッシュを使用します:

IE6/7 では、エスケープされたコロンの末尾にスペースが必要です。

#phoneFormA phoneTable {
    background: pink;
}
ログイン後にコピー

3.ネイティブ要素でラップする:

JSF コンポーネントを通常の HTML 要素でラップし、ラッパーにスタイルを適用します。

<h:form>
ログイン後にコピー
#phoneField table {
    background: pink;
}
ログイン後にコピー

4.代わりにクラスを使用します:

コンポーネントに ID の代わりに CSS クラスを割り当てます。これにより、コロンの問題が解消されます。

<h:dataTable>
ログイン後にコピー
.pink {
    background: pink;
}
ログイン後にコピー

5. JSF 区切り文字の変更 (JSF 2.x ):

web.xml の JSF UINamingContainer 区切り文字をコロンではなくハイフン (-) に変更します。

<context-param>
    <param-name>javax.faces.SEPARATOR_CHAR</param-name>
    <param-value>-</param-value>
</context-param>
ログイン後にコピー
#phoneForm-phoneTable {
    background: pink;
}
ログイン後にコピー
コンポーネント ID へのフォーム ID の先頭付加を無効にします。ただし、これは AJAX 処理で問題を引き起こす可能性があるため、推奨されません。


    <h:dataTable>
ログイン後にコピー
#phoneTable {
    background: pink;
}
ログイン後にコピー
推奨事項:

特定のケースでは、次のような CSS クラスを使用します。 「phoneTable」は、柔軟性を実現し、JSF 命名コンテナとの潜在的な競合を回避するため、最も適切なソリューションです。

以上がCSS でコロンを含む ID を使用して JSF コンポーネントのスタイルを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート