An easy notation for grayscale colors

These days, there is a lengthy discussion in the CSS WG about how to name a function that produces shades of gray (from white to black) with varying degrees of transparency, and we need your feedback about which name is easier to use.
The current propo…


This content originally appeared on Lea Verou’s blog and was authored by Lea Verou

These days, there is a lengthy discussion in the CSS WG about how to name a function that produces shades of gray (from white to black) with varying degrees of transparency, and we need your feedback about which name is easier to use.

The current proposals are:

1. gray(lightness [, alpha])

In this proposal gray(0%) is black, gray(50%) is gray and gray(100%) is white. It also accepts numbers from 0-255 which correspond to rgb(x,x,x) values, so that gray(255) is white and gray(0) is black. It also accepts an optional second argument for alpha transparency, so that gray(0, .5) would be equivalent to rgba(0,0,0,.5).

This is the naming of the function in the current CSS Color Level 4 draft.

2. white(lightness [, alpha])

Its arguments work in the same way as gray(), but it’s consistent with the expectation that function names that accept percentages give the “full effect” at 100%. gray(100%) sounds like a shade of gray, when it’s actually white. white(100%) is white, which might be more consistent with author expectations. Of course, this also accepts alpha transparency, like all the proposals listed here.

3. black(lightness [, alpha])

black() would work in the opposite way: black(0%) would be white, black(100%) would be black and black(50%,.5) would be semi-transparent gray. The idea is that people are familiar thinking that way from grayscale printing.

4. rgb() with one argument and rgba() with two arguments

rgb(x) would be a shorthand to rgb(x, x, x) and rgba(x, y) would be a shorthand to rgba(x, x, x, y). So, rgb(0) would be black and rgb(100%) or rgb(255) would be white. The benefit is that authors are already accustomed to using rgb() for colors, and this would just be a shortcut. However, note how you will need to change the function name to get a semi-transparent version of the color. Also, if in the future one needs to change the color to not be a shade of gray, a function name change is not needed.

I’ve written some SCSS to emulate these functions so you can play with them in your stylesheets and figure out which one is more intuitive. Unfortunately rgb(x)/rgba(x,a) cannot be polyfilled in that way, as that would overwrite the native rgb()/rgba() functions. Which might be an argument against them, as being able to polyfill through a preprocessor is quite a benefit for a new color format IMO.

You can vote here, but that’s mainly for easy vote counting. It’s strongly encouraged that you also leave a comment justifying your opinion, either here or in the list.

Vote now!

Also tl;dr If you can’t be bothered to read the post and understand the proposals well, please, refrain from voting.


This content originally appeared on Lea Verou’s blog and was authored by Lea Verou


Print Share Comment Cite Upload Translate Updates
APA

Lea Verou | Sciencx (2014-07-27T00:00:00+00:00) An easy notation for grayscale colors. Retrieved from https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/

MLA
" » An easy notation for grayscale colors." Lea Verou | Sciencx - Sunday July 27, 2014, https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/
HARVARD
Lea Verou | Sciencx Sunday July 27, 2014 » An easy notation for grayscale colors., viewed ,<https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/>
VANCOUVER
Lea Verou | Sciencx - » An easy notation for grayscale colors. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/
CHICAGO
" » An easy notation for grayscale colors." Lea Verou | Sciencx - Accessed . https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/
IEEE
" » An easy notation for grayscale colors." Lea Verou | Sciencx [Online]. Available: https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/. [Accessed: ]
rf:citation
» An easy notation for grayscale colors | Lea Verou | Sciencx | https://www.scien.cx/2014/07/27/an-easy-notation-for-grayscale-colors/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.