Maison > interface Web > tutoriel CSS > Comment styliser les composants JSF avec des identifiants contenant deux points en CSS ?

Comment styliser les composants JSF avec des identifiants contenant deux points en CSS ?

Susan Sarandon
Libérer: 2024-12-22 00:49:23
original
396 Les gens l'ont consulté

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

Comment cibler les identifiants générés par JSF avec des deux-points dans les sélecteurs CSS

Dans les applications JSF, les composants peuvent être rendus avec des ID client contenant des deux-points, comme "phoneForm: phoneTable". Ces deux-points peuvent entrer en conflit avec la syntaxe des sélecteurs CSS, qui utilisent des deux-points pour indiquer des pseudo-classes.

1. Échapper aux deux points :

Échapper aux deux points en utilisant une barre oblique inverse (). Cela fonctionne dans la plupart des navigateurs.

#phoneForm\:phoneTable {
    background: pink;
}
Copier après la connexion

2. Utilisez une barre oblique inverse avec un espace d'échappement :

Dans IE6/7, les deux points d'échappement nécessitent un espace de fin.

#phoneFormA phoneTable {
    background: pink;
}
Copier après la connexion

3. Envelopper dans un élément natif :

Enveloppez le composant JSF dans un élément HTML normal et appliquez des styles au wrapper.

<h:form>
Copier après la connexion
#phoneField table {
    background: pink;
}
Copier après la connexion

4. Utilisez plutôt une classe :

Attribuez au composant une classe CSS au lieu d'un ID. Cela élimine le problème du côlon.

<h:dataTable>
Copier après la connexion
.pink {
    background: pink;
}
Copier après la connexion

5. Modifier le séparateur JSF (JSF 2.x) :

Modifiez le séparateur JSF UINamingContainer dans web.xml en un trait d'union (-) au lieu de deux points.

<context-param>
    <param-name>javax.faces.SEPARATOR_CHAR</param-name>
    <param-value>-</param-value>
</context-param>
Copier après la connexion
#phoneForm-phoneTable {
    background: pink;
}
Copier après la connexion

6. Désactiver le pré-ajout de l'ID de formulaire (JSF 1.2) :

Désactiver le pré-ajout de l'ID de formulaire aux ID de composant. Cependant, cela peut entraîner des problèmes avec le traitement AJAX et n'est pas recommandé.


    <h:dataTable>
Copier après la connexion
#phoneTable {
    background: pink;
}
Copier après la connexion

Recommandation :

Pour votre cas spécifique, utiliser une classe CSS comme "phoneTable" est la solution la plus adaptée, car elle permet une certaine flexibilité et évite les conflits potentiels avec les conteneurs de noms JSF.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal