maettig.com

Thiemo’s Archiv

CSS 2.x kennt nur vier attributbedingte Selektoren: [att] trifft zu, wenn das Attribut vorhanden ist, egal welchen Wert es beinhaltet. Bei [att=val] muss der Wert exakt übereinstimmen (Groß/Kleinschreibung muss ebenfalls übereinstimmen). Jetzt wird es interessant: [att~=val] ist keine echte Suche nach einer Teilzeichenkette, sondern die Suche nach einem exakten Treffer in einer durch Leerzeichen getrennten Liste von Werten. Das kommt z.B. bei class="a b c" oder auch bei rel="a b c" vor. [att|=val] ist keine echte Suche nach einem Präfix, sondern die Suche nach einem exakten Treffer am Anfang einer durch Bindestriche getrennten Liste von Werten. Das kommt z.B. bei lang="de-DE" vor. Eine echte Suche nach Teilzeichenketten gibt es erst mit CSS 3, das netterweise von Firefox und Co. schon interpretiert wird: [att^=val] passt auf den Zeichenkettenanfang, [att$=val] auf das Zeichenkettenende und [att*=val] auf ein beliebiges Vorkommen. Die Regel für das Hervorheben externer Links (oder Links zu bestimmten Domänen) muss also so aussehen: a[href^="http://"]. Die Anführungszeichen sind erforderlich, sobald Sonderzeichen im zu suchenden Wert vorkommen.

Nachtrag: Opera beherrscht diese Selektoren leider noch nicht, auch in der neusten Version 8.0 nicht.

Ich würde es ja genial finden, wenn eines Tages auch richtig reguläre Ausdrücke (Perl-kompatibel) funktionieren würden ...
René
Man kann es auch übertreiben. CSS ist keine Programmiersprache. Dafür gibt es XSLT und Co.
Thiemo

Kommentare zu diesem Beitrag können per E-Mail an den Autor gesandt werden.

[ < Zurück zur Übersicht ]

Impressum & Datenschutz