Sven Rautenberg: Hex-Farbangaben abkürzen

Beitrag lesen

Moin!

auf irgend einer Seite bin ich mal auf den Hinweis gestossen, dass man die Hex-Farbangaben auf folgende Weise verkürzen kann:

Farbe ist z.B.: #ABCABC

stattdessen kann man schreiben: #ABC

Es gibt die Möglichkeit, nur drei statt sechs Hexzahlen zu schreiben, aber die werden anders verdoppelt, als du es hier schreibst.

Wenn du #ABCABC hast, gibt es keine Möglichkeit, dass in drei Hexzahlen zu schreiben und die _gleiche: Farbe zu erhalten.

Wenn du eine 6stellige Zahl in eine 3stellige umwandeln willst, nimm vom Rot- Grün- und Blau-Wert jeweils die höhere Stelle:

Aus #AB-CA-BC wird #A-C-B (Trennstriche nur zur Verdeutlichung gesetzt), was der Browser gemäß dem CSS-Standard dann als #AA-CC-BB interpretiert.

Auf diese Weise kann man recht kurz geschrieben weiß #FFF, schwarz #000, rot #F00 etc. definieren.

Ganz wichtig: Diese dreistellige Schreibweise ist _NUR IN CSS_ erlaubt, nicht für die Definition von Farben in den alten HTML-Attributen. Du muß also weiterhin <body bgcolor="#FFFFFF"> schreiben und darfst nicht mit bgcolor="#FFF" abkürzen.

Meine Frage: Stützt man sich bei diesen verkürzten Angaben auf die Fehlertoleranz der Browser, so dass der Browser jedesmal raten muss,  oder ist das Ganze durchaus regelkonform?

Es ist regelkonform im CSS-Standard definiert, die Browser machen es reproduzierbar immer gleich.

- Sven Rautenberg

--
Diese Signatur gilt nur am Freitag.