Frage zum Wiki-Artikel „oklab()“
Rudi Ratlos
- css
- frage zum wiki
Je nach Fundstelle varieren die Bezeichner der einzelnen Komponenten.
Gefunden habe ich da bislang oklab(l a b / A) und oklab(l a b / alpha) (biese Versionen: MDN), oklab(L a b / A), oklab(L a b / Alpha) und, überwiegend, Stellen ohne „kalkulierbare“ Alpha-Werte. Da gibt es nur diskrete Zahlen.
Ist an der Stelle das CSS entsprechend ignorant gegenüber der Groß-/Kleinschreibung? Insbesonders „die A-Klasse“ …
Daß nicht auch noch ein oklab(l a b / a) dabei war, ist jedenfalls fast schon irritierend.
Servus!
Je nach Fundstelle varieren die Bezeichner der einzelnen Komponenten. Gefunden habe ich da bislang
oklab(l a b / A)undoklab(l a b / alpha)(biese Versionen: MDN),oklab(L a b / A),oklab(L a b / Alpha)und, überwiegend, Stellen ohne „kalkulierbare“ Alpha-Werte. Da gibt es nur diskrete Zahlen.\
Du hast Recht, das sind Bezeichner für diese Zahlen- oder Prozentwerte.
Ist an der Stelle das CSS entsprechend ignorant gegenüber der Groß-/Kleinschreibung?
CSS ist case-insensitive, d.h #BADA55ist das gleiche wie #bada55, aber hier sind das eben Bezeichner für Zahlenwerte.
<span style="background: oklab(0.5 a -0.4)"></span> wäre falsch und wird ignoriert.
Insbesonders „die A-Klasse“ …\
Du sprichst auf die Transparenz_mit_Alphakanal an. Da gehört ein Wert von 0-1 oder eine Prozentangabe hin, kein Platzhalter.
BTW: Ich habe zwar den Artikel zu den Farbangaben geschrieben, musste aber selbst erst einmal nachlesen, wofür a und b stehen, intuitiver ist oklch() mit
Herzliche Grüße
Matthias Scharwies
@@Rudi Ratlos
Je nach Fundstelle varieren die Bezeichner der einzelnen Komponenten. Gefunden habe ich da bislang
oklab(l a b / A)undoklab(l a b / alpha)(biese Versionen: MDN),oklab(L a b / A),oklab(L a b / Alpha)und, überwiegend, Stellen ohne „kalkulierbare“ Alpha-Werte. Da gibt es nur diskrete Zahlen.
Wenn du die Bezeichner als metasyntaktische Variablen (Platzhalter) verwendest, kannst du sie benennen, wie es am verständlichsten ist, bspw:
rgb(rot grün blau / Alpha-Kanal) bzw. oklab(Helligkeit a-Wert b-Wert / Alpha-Kanal).
Dann wäre es aber vielleicht sinnvoll zu verdeutlichen, dass es sich um Platzhalter handelt; bspw. rgb(<rot> <grün> <blau> / <Alpha-Kanal>) oder oklab(<Helligkeit> <a-Wert> <b-Wert> / <Alpha-Kanal>).
Wenn es sich aber um Syntax handelt wie bei relativen Farbangaben, dann müssen die vorgegebenen Bezeichner eingehalten werden. Für den Alphakanal-Wert bspw. muss es alpha sein; a ist falsch, s. dieses Posting.
Das gesagt, ist es vielleicht doch besser, die Bezeichner konsistent zu verwenden, für metasyntaktische Variablen also dieselben wie die bei relativen Farbangaben. Also rgb(r g b / alpha) bzw. oklab(l a b / alpha).
Daß nicht auch noch ein
oklab(l a b / a)dabei war, ist jedenfalls fast schon irritierend.
Bei relativen Farbangaben wäre das kein (Syntax-)Fehler; es bewirkt aber vermutlich nicht das Gewünschte, s. Codepen.
Bei oklch() hingegen ist die Verwendung von a ein Syntaxfehler. Die fehlerhafte Deklaration wird ignoriert; es gilt der Defaultwert.
🖖 Live long and prosper