CSS und Generated Content

  • Hi zusammen,

    der eine oder andere von Euch wird sich sicherlich noch an unsere nicht ganz so erfolgreiche CSS-Diskussion erinnern. Bevor ich jetzt wieder über den Firefox schimpfe möchte ich Euch an meinen Gedanken teilhaben lassen - vielleicht habe ich ja in der Tat etwas übersehen, vielleicht funktioniert aber auch nur der Firefox nicht wie gewünscht.

    Punkt 1:
    Überschriften sollen automatisch numeriert werden. Die CSS2-Spezifikation erklärt das ganze mit einigen Beispielen recht anschaulich. Aber selbst das genannte Beispiel funktioniert weder im Firefox noch (obligatorische Gegenprobe) im IE. Daß der IE alles was mit :before und :after arbeitet nicht umsetzt ist ja nun ohnehin nicht neu, daß der Firefox damit auch Probleme hat aber schon. Die folgende Definition (das Beispiel des W3C) steht im CSS-File:

    Code
    H1:before {
        content: "Kapitel " counter(chapter) ". ";
        counter-increment: chapter;  /* Add 1 to chapter */
        counter-reset: section;      /* Set section to 0 */
    }
    H2:before {
        content: counter(chapter) "." counter(section) " ";
        counter-increment: section;
    }

    An der fehlerhaften Dateizuweisung kann es nicht liegen, da andere Styles problemlos angewandt werden. In dem Moment in dem ein Counter auftaucht, wird die gesamte Pseudo-Class :before schlichtweg ignoriert. Stehen nur einer oder mehrere Strings in der Definition, funktioniert alles. W3-Validator sagt "Ist okay", sowohl zum CSS als auch zur zugehörigen HTML-Datei.

    Das Problem besteht bei allen Elementen, in denen irgendein counter()-Element zum Einsatz kommen soll. Andere Varianten mit automatisc

    Punkt 2, Anführungszeichen.
    Es gibt ebenfalls im Bereich "Generated content" die Möglichkeit, [url=http://www.w3.org/TR/REC-CSS2/generate.html#quotes]Anführungszeichen[/quote] abhängig von der Landessprache zu spezifieren, und zwar auf mehrere Ebenen (zB Hervorhebungen in wörtlicher Rede). Auch dazu gibt es ein Beispiel, welches grundsätzlich funktioniert (hier von mir etwas angepaßt):

    Code
    Q:lang(de) { quotes: "\201E" "\201D" "\2018" "\2019" }  /* german typographic quotes */
    Q:lang(fr) { quotes: "«" "»" "<" ">" }    /* french typographic quotes */
    Q:before {content: open-quote; }
    Q:after {content: close-quote; }

    Soweit, so schön, hier der HTML-Code dazu:

    Code
    <p>A test for german quotes: <Q lang="de">So sieht es aus, oder?</Q></p>
    <p>Another test for french: <Q lang="fr">Tres bien!</Q></p>

    Das ganze wird auch korrekt dargestellt. Wenn ich jetzt aber - wie im W3C-Beispiel vorgesehen - die Anführungszeichen verschachtele:

    Code
    <p>Another test for german quotes: <Q lang="de">Wir sollten mal wieder in <Q>Bistro zur Laube</Q> essen gehen.</Q></p>

    werden in beiden Fällen nur die zuerst definierten Anführungszeichen angezeigt.

    Das sind zwei der Probleme über die ich bisher gestolpert bin. Vielleicht hat da jemand eine Idee? Wenn mich jemand mit der Nase auf einen Fehler stößt, nur zu ;)

    Bei der Gelegenheit ist mir noch etwas anderes durch den Kopf gegangen, und zwar die &shy;-Geschichte. Es ist ja mittlerweile zumindest den an der o.g. Diskussion Beteiligten bekannt daß es sich schlichtweg um einen Bug handelt, während zur Abwechslung mal der IE dieses Zeichen (bedingter Trennstrich) korrekt umsetzt. CSS-Probleme tauchen auch immer mal wieder auf, vielleicht sollte man so etwas hier im Forum mal sammeln?

    Gruß
    Rick

    Windows 7 • Windows XP • MacOS 10.14.2 • It's better to be hated for what you are than to be loved for what you're not.

  • Das mit dem automatischen Hochzählen kann meines Wissens bis jetzt nur der Opera. Ich finde es aber nicht sinnvoll dies zu machen, denn die Zahlen sollten ja auch auf einem älteren/eigeschränkteren Browser zu sehen sein.

  • Zitat von JonHa

    Das mit dem automatischen Hochzählen kann meines Wissens bis jetzt nur der Opera.

    Das ist doch immerhin schon mal eine Auskunft :) Auch wenn sie mehr als bedauerlich ist, denn CSS2 wurde 1999 verabschiedet, wenn ich das richtig in Erinnerung habe, und in der Zwischenzeit ist viel Wasser nicht nur den Rhein hinuntergeflossen ...

    Zitat von JonHa

    Ich finde es aber nicht sinnvoll dies zu machen, denn die Zahlen sollten ja auch auf einem älteren/eigeschränkteren Browser zu sehen sein.

    Wenn man auf einen "eingeschränkten Browser" (was im Endeffekt dann doch wieder der IE6 sein dürfte, wenn man mal Screenreader und Textbrowser außen vor läßt) entwickeln will kann man CSS2 am besten in die Tonne drücken ... okay, das war jetzt vielleicht etwas zu hart, aber dann bleiben wirklich nicht mehr viel was ordnungsgemäß umgesetzt wird.

    Naja, ich warte mal ab was die sonstigen CSS-Verfechter ;) (1) noch dazu sagen, vielleicht hat ja doch noch jemand eine Idee ... wenn alle Stricke reißen bleibt wohl doch nur der Weg das ganze über PHP zu realisieren.

    Gruß
    Rick

    (1) das war durchaus als Wink mit dem Zaunpfahl zu verstehen 8)

    Windows 7 • Windows XP • MacOS 10.14.2 • It's better to be hated for what you are than to be loved for what you're not.