Zum Inhalt springen

Mehrere Klassen auf ein Element erlauben

Erstellt am 16. Juni 2010 · 1 Antwort · letzte Antwort am 21. Juni 2010

Tags: HTML & CSS, Frage

sunixzs ·

Hallo RTEler,

Vor folgendem Problem stehe ich:
Es gibt mehrere CSS-Klassen, die man für eine Headline verwenden kann (als Beispiel hier nur 2):

h1.colored {color: red; }
h1.uppercase{ text-transform: uppercase; }

Diese kann ich im RTE zuweisen und funktionieren auch _einzeln_. Die Einstellung damit es funktioniert ist u. A.:

RTE.default.proc.entryHTMLparser_db.tags.h1.fixAttrib.class.list = , colored, uppercase

Wenn ich nun beide Klassen kombiniere, erachtet der Parser es als ungültig ( <h1 class="uppercase colored">...</h1> )

Wenn ich folgendes notiere geht es durch:

RTE.default.proc.entryHTMLparser_db.tags.h1.fixAttrib.class.list = , colored, uppercase, colored uppercase, uppercase colored

Gibt es eine andere Möglichkeit erlaubte Klassen zu notieren, damit diese kombiniert werden dürfen? In Wahrheit sind es nämlich nicht 2 Klassen, welche in diesem Projekt erlaubt sind und hier schon 4 Einträge benötigen, sondern 4 Klassen, welche jede Klasse und jede Klassenkombination als Eintrag vorraussetzen (20 Einträge anstatt 4).

Vielleicht weiß ja jemand Rat. Mir wäre auch geholfen, wenn ich einfach alle Klassen erlauben könnte für bestimmte Tags (h1-h4)

Vielen Dank für eine Antwort.

Sonnige Grüße

Sun

Edit sagt:
Bei 4 Klassen kombiniert müssten es 4 hoch 4 Kombinationen sein anstatt 4 hoch 2. 256+4 anstatt 16+4.

sunixzs ·

Hallo nochmal,

noch habe ich keine Lösung gefunden. Deswegen krame ich den Thread nochmals hervor in der Hoffnung, dass es zu einer Lösung kommt.

Evtl. habe ich es nicht richtig oder genau genug erklärt, damit ich eine Antwort bekomme.

Also hier nochmal anders ;-)

Im RTE gibt es ein Select-Feld, indem man Block-Level-Elemente erzeugen kann, bzw. einen Block ändern kann. Da steht normalweise "Heading 1", "Heading 2" und so drin.

Wenn man nun so einen Block hat, kann man diesem per "Block-Style"-Select-Feld noch einen Stil - sprich CSS-Klasse - mitgeben.

Unten im RTE in der Statuszeile steht dann z. B. "Path: body » h1.colored".

Beim Block-Style gibt es die Möglichkeit mehrere Stile auf ein Element anzuwenden:

Statuszeile: "Path: body » h1.colored.uppercase"

Auf der Webseite sollte dann folgender Code ausgegeben werden:

<h1 class="colored uppercase">

Und hier liegt nun das Problem. Man kann mehrere Stile im RTE zuweisen, aber diese werden wohl beim Speichern in die Datenbank herausgeschmissen - auch, wenn diese bei den erlaubten CSS-Klassen für das Element stehen:

RTE.default.proc.entryHTMLparser_db.tags.h1.fixAttrib.class.list = , colored, uppercase

Also bei einer CSS-Klassen-Zuordnung auf ein Element funktioniert es. Sobald es mehrere Klassen sind, funktioniert es nicht mehr.

Kennt das Problem wer? Weiß jemand weiter?

Danke und Gruß

Sun

Edit sagt:
- html4strict in html geändert