Tsames: <q> mit anderen Anführungszeichen

Hallo Forum,

ich möchte die Art der Anführungszeichen beeinflussen, die der jeweilige User Agent für das Visualisieren von <q> (für Zitate) verwendet. Opera nimmt hierfür die normalen englischen Quotes ", ich möchte aber z.B. » und « verwenden.
Inzwischen ist mir schon klar geworden, dass ich mit den Pseudo-Formaten für Text vor/nach Elementen (:before/:after) und der quotes-Eigenschaft weiterkomme, was im Opera auch sehr schön funktioniert:

<style type="text/css">
<!--
q { quotes: "\00BB" "\00AB" "\009B" "\008B"; }
q:before { content:open-quote; }
q:after { content:close-quote; }
-->
</style>

Nun habe ich dazu aber noch einige Verständnisfragen:

* Opera ersetzt die von ihm verwendeten Standard-Quotes mit den per CSS definierten und zeigt Folgendes an:
   <q>Das ist ein Zitat.</q>   ==>   »Das ist ein Zitat.«
                (anstatt Standard:   "Das ist ein Zitat.")
Ersetzen nun auch andere Browser, welche die Pseudo-Formate :before und :after interpretieren, die Standard-Quotes? Oder kann es passieren, dass die neu definierten und die Standard-Quotes zusammen angezeigt werden? Das wäre natürlich schlecht:
                                     »"Das ist ein Zitat."«

* Irgendwie empfinde ich die Definition oben doppelt gemoppelt und zumindest bei Opera funktioniert auch nur:

q { quotes: "\00BB" "\00AB" "\009B" "\008B"; }

oder nur:

q:before { content:\00BB; }
q:after { content:\00AB; }

Macht dies evtl. bei anderen Browsern Probleme oder ist das nicht standardkonform?

* Probleme hatte ich zuerst auch mit der Notation der Anführungszeichen innerhalb der CSS-Anweisung: weder benannte Zeichen (also z.B. » und «) noch die dezimale Notation sind wohl erlaubt. In SELFHTML habe ich dazu eine Anmerkung vermisst.
Allerdings gibt es sogar Probleme, wenn man \00bb anstatt \00BB schreibt. Schreibt der Standard vor, dass nur Großbuchstaben erlaubt sind? Ich habe nichts dazu gefunden. Es ist schon etwas komisch, da XHTML ja gerade Kleinbuchstaben vorschreibt!

Dann noch eine gute Nacht
Tsames

PS: Ja, ich werde mir demnächst endlich Mozilla installieren :-).
Und ich freue mich schon auf http://aktuell.de.selfhtml.org/tippstricks/

  1. Hi Tsames,

    <style type="text/css">
    <!--
    q { quotes: "\00BB" "\00AB" "\009B" "\008B"; }
    q:before { content:open-quote; }
    q:after { content:close-quote; }
    -->
    </style>

    das ist schön, so etwas habe ich schon lange nicht mehr gelesen ;)

    Ersetzen nun auch andere Browser, welche die Pseudo-Formate :before und :after interpretieren, die Standard-Quotes? Oder kann es passieren, dass die neu definierten und die Standard-Quotes zusammen angezeigt werden?

    Laut Spezifikation müssen die ursprünglichen Zeichen durch die CSS-Definition ersetzt werden (http://www.w3.org/TR/REC-CSS2/generate.html#quotes-insert), was sie auch korrekt umgesetzt wird.

    * Irgendwie empfinde ich die Definition oben doppelt gemoppelt und zumindest bei Opera funktioniert auch nur:

    q { quotes: "\00BB" "\00AB" "\009B" "\008B"; }
    oder nur:
    q:before { content:\00BB; }
    q:after { content:\00AB; }

    Bei Mozilla ebenfalls. Wenn sich die beiden einig sind, ist das immer ein gutes Zeichen.

    Macht dies evtl. bei anderen Browsern Probleme oder ist das nicht standardkonform?

    Der Validator meckert, weil du keine Hochkommas verwendest. So wäre es korrekt:

    q:before { content: "\00BB"; }
    q:after { content: "\00AB"; }

    * Probleme hatte ich zuerst auch mit der Notation der Anführungszeichen innerhalb der CSS-Anweisung: weder benannte Zeichen (also z.B. » und «) noch die dezimale Notation sind wohl erlaubt.

    Das W3C empfiehlt 'ISO 10646 characters', siehe weiter unten.

    Allerdings gibt es sogar Probleme, wenn man \00bb anstatt \00BB schreibt.

    Kann ich nicht nachvollziehen. Die Varianten

    q { quotes: '\00bb' '\00ab' '\009b' '\008b'; }
    q { quotes: "\00bb" "\00ab" "\009b" "\008b"; }
    q { quotes: "»" "«" "›" "‹" }

    werden von Opera und Mozilla korrekt umgesetzt.

    Bezüglich der Zeichen dürfte dich auch http://www.w3.org/TR/REC-CSS2/generate.html#quotes-specify interessieren.

    LG Orlando

    --
    SELF-TREFFEN 2002
    http://www.rtbg.de/selftreffen/
    http://www.megpalffy.org/temp/penneninhh.html

    1. Hallo Orlando,

      Laut Spezifikation müssen die ursprünglichen Zeichen durch die CSS-Definition ersetzt werden (http://www.w3.org/TR/REC-CSS2/generate.html#quotes-insert), was sie auch korrekt umgesetzt wird.

      Da war ich mir nicht ganz sicher, ob das genau so drin steht. Die quotes-Eigenschaft kann ja auch auf beliebige andere Elemente angewandt werden, z.B. <p> oder <blockquote>, die standardmäßig keine "eigenen" Anführungszeichen aufweisen. Deshalb meine Nachfrage.

      Der Validator meckert, weil du keine Hochkommas verwendest.

      Uups, klar. War doch schon zu spät gestern Nacht!

      Allerdings gibt es sogar Probleme, wenn man \00bb anstatt \00BB schreibt.

      Kann ich nicht nachvollziehen. Die Varianten

      q { quotes: '\00bb' '\00ab' '\009b' '\008b'; }
      q { quotes: "\00bb" "\00ab" "\009b" "\008b"; }
      q { quotes: "»" "«" "›" "‹" }

      werden von Opera und Mozilla korrekt umgesetzt.

      Das lag dann wohl an meinem alten Opera (5.02)! Der macht bei Kleinbuchstaben Probleme.

      Viele Grüße
      Tsames

  2. Hallo,

    q:before { content:\00BB; }
    q:after { content:\00AB; }

    Macht dies evtl. bei anderen Browsern Probleme oder ist das nicht standardkonform?

    Verwende Anfuehrungszeichen um die Quotes-Beschreibungen. Einige Hinweise und Ergebnisse findest Du hier: http://www.styleassistant.de/tips/tip59.htm.

    MfG, Thomas