Maison > interface Web > tutoriel CSS > Comment styliser les éléments HTML générés par JSF avec des deux-points dans leurs identifiants à l'aide de CSS ?

Comment styliser les éléments HTML générés par JSF avec des deux-points dans leurs identifiants à l'aide de CSS ?

Patricia Arquette
Libérer: 2024-12-23 18:44:11
original
303 Les gens l'ont consulté

How to Style JSF-Generated HTML Elements with Colons in Their IDs Using CSS?

Utilisation des ID d'éléments HTML générés par JSF avec deux points (":") dans les sélecteurs CSS

Lorsque vous travaillez avec JSF, vous pouvez rencontrer une situation où le fichier généré par JSF L'ID de l'élément HTML contient deux points (":"), ce qui pose des problèmes lors de l'utilisation des sélecteurs CSS. Les deux points sont un caractère spécial dans les identifiants CSS, car ils représentent le début d'un sélecteur de pseudo-classe comme :hover, :first-child, etc.

Échapper aux deux points

Pour utiliser un JSF -ID généré avec deux points en CSS, vous pouvez y échapper en utilisant l'une des méthodes suivantes :

  • Remplacez les deux points par "3A" (avec un espace à la fin) :

    #phoneFormA phoneTable {
      background: pink;
    }
    Copier après la connexion
  • Remplacez les deux points par ":" (pour tous les navigateurs sauf IE6 /7):

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

Alternative Approches

En plus d'échapper aux deux points, il existe d'autres approches pour résoudre ce problème :

  1. Envelopper dans un élément HTML simple :

    Enveloppez l'élément JSF dans un élément HTML simple et stylisez le wrapper à la place.

  2. Utilisez la classe CSS :

    Attribuez une classe CSS à l'élément JSF au lieu d'utiliser un ID.

  3. Modifier le séparateur UINamingContainer (JSF 2.x uniquement) :

    Modifiez le caractère séparateur UINamingContainer dans web.xml par un caractère autre que ":".

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

    Désactivez le pré-ajout de l'ID du formulaire pour le formulaire spécifique qui génère le élément problématique.

Solution recommandée :

Dans la plupart des cas, encapsuler l'élément JSF dans une classe CSS est la solution la plus appropriée. Il offre une meilleure flexibilité et réutilisabilité, et évite les problèmes potentiels avec certaines approches comme la désactivation du pré-ajout de l'ID du formulaire.

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