Bei der Arbeit mit JSF kann es vorkommen, dass die JSF-generierten Die HTML-Element-ID enthält einen Doppelpunkt („:“), was bei der Verwendung von CSS-Selektoren zu Problemen führt. Der Doppelpunkt ist ein Sonderzeichen in CSS-Bezeichnern, da er den Anfang eines Pseudoklassenselektors wie :hover, :first-child usw. darstellt.
Um eine JSF zu verwenden -Generierte ID mit einem Doppelpunkt in CSS, Sie können sie mit einer der folgenden Methoden maskieren:
Ersetzen Sie den Doppelpunkt durch "3A" (mit einem nachgestellten Leerzeichen):
#phoneFormA phoneTable { background: pink; }
Ersetzen Sie den Doppelpunkt durch ":" (für alle Browser außer IE6 /7):
#phoneForm\:phoneTable { background: pink; }
Neben der Flucht aus dem Dickdarm gibt es noch andere Ansätze, um dieses Problem anzugehen:
Einbetten in ein einfaches HTML-Element:
Wrappen Sie das JSF-Element in ein einfaches HTML-Element und formatieren Sie den Wrapper stattdessen.
CSS-Klasse verwenden:
Weisen Sie dem JSF-Element eine CSS-Klasse zu, anstatt eine ID zu verwenden.
UINamingContainer-Trennzeichen ändern (JSF 2.x (nur):
Ändern Sie das UINamingContainer-Trennzeichen in web.xml in ein anderes Zeichen als „:“.
Deaktivieren Sie das Voranstellen der Formular-ID (Nur JSF 1.2):
Deaktivieren Sie das Voranstellen der Formular-ID für das spezifische Formular, das generiert wird das problematische Element.
Empfohlene Lösung:
In den meisten Fällen ist das Einschließen des JSF-Elements in eine CSS-Klasse die am besten geeignete Lösung. Es bietet eine bessere Flexibilität und Wiederverwendbarkeit und vermeidet potenzielle Probleme bei bestimmten Ansätzen wie der Deaktivierung des Voranstellens der Formular-ID.
Das obige ist der detaillierte Inhalt vonWie formatiere ich JSF-generierte HTML-Elemente mit Doppelpunkten in ihren IDs mithilfe von CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!