Skip to content

[css-color] HEX Color Opacity Handling #6880

Closed
@Ernedar

Description

@Ernedar

The issue:

As it is written in reference you can very easily work with rgb() and hsl() and their semi-transparent / transparent variant functions rgba() and hsla().

Hex code can use format #FFFFFF or transparent / semi-transparent version #FFFFFFFF.

Problem occures when you you want to use CSS Variables for adding transparency in to color.

Example:

We have a color red with code in variable for:
rgb: --red-rgb: 255, 0, 0;
hsl: --red-hsl: 0, 100%, 50%;
hex: --red-hex: #FF0000;
and opacity for different background where you do not want to use fully saturated color: --color-opacity: 0.5;

So making those colors with opacity:
rgba(var(--red-rgb),var(--color-opacity));
hsla(var(--red-hsl), var(--color-opacity));
are easy to make but for hex it is not doable. You need to make another css variable with full format, in this case it will be hex with opacity: --red-hex-opa: #FF0000F0;

And since I for example need to change opacity only in the future or just the color, I would need to change whole color code in hex opacity instead of changing it in one place.

Proposal:

New function will be introduced called hexa() for example which will work same as rgba() or hsla().
When working with opacity and hex code color it will support css variables:
hexa(var(--hex-red), var(--color-opacity)); which will generate hex: #FF0000F0 or browser readable option hexa() would be functional instead. With that you will have option to use hex in #FFFFFFFF or hexa() function when introducion transparency in to the color.

Knowledge:

I am aware that when making web and css styling, I can change all hex codes from designs in to RGB or HSL format respectively and just simply use rgba() or hsla() functions instead of making new one. This is idea about having all color formats with consistent functions since <color> is worked on currently.

References:

https://www.w3schools.com/css/css3_colors.asp - reference for color opacity functions

Metadata

Metadata

Assignees

No one assigned

    Labels

    Closed as Question AnsweredUsed when the issue is more of a question than a problem, and it's been answered.css-color-5Color modification

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions