From 61e47a430ec534893c1ce8b02a320714f71d28fd Mon Sep 17 00:00:00 2001 From: abdultalha0862 <20211a0405@bvrit.ac.in> Date: Mon, 9 Feb 2026 15:47:03 +0000 Subject: [PATCH 1/4] Add lch() color function term entryCloses #8211 --- content/css/concepts/colors/terms/lch/lch.md | 51 +++++++++++++++++++ media/css-colors-lch-example-1.png | Bin 0 -> 15111 bytes media/css-colors-lch-example-2.png | Bin 0 -> 8637 bytes 3 files changed, 51 insertions(+) create mode 100644 content/css/concepts/colors/terms/lch/lch.md create mode 100755 media/css-colors-lch-example-1.png create mode 100755 media/css-colors-lch-example-2.png diff --git a/content/css/concepts/colors/terms/lch/lch.md b/content/css/concepts/colors/terms/lch/lch.md new file mode 100644 index 00000000000..502884a8ed3 --- /dev/null +++ b/content/css/concepts/colors/terms/lch/lch.md @@ -0,0 +1,51 @@ +--- +Title: 'lch()' +Description: 'Defines color by using lightness, chroma, and hue values in the LCH color space.' +Subjects: + - 'Web Development' + - 'Web Design' +Tags: + - 'Color' + - 'Functions' + - 'Methods' + - 'Style' +CatalogContent: + - 'learn-css' + - 'paths/front-end-engineer-career-path' +--- + +The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) color space, which provides a more perceptually uniform way to represent colors compared to traditional RGB or HSL color spaces. + +## Syntax + +```pseudo +: lch(lightness chroma hue); +``` + +- `lightness`: A percentage value from `0%` to `100%`. Represents the brightness of the color. `0%` is completely black, `100%` is completely white, and `50%` represents the mid-tone. +- `chroma`: A number value (typically `0` to `150` or higher). Represents the colorfulness or intensity of the color. `0` represents a neutral gray with no color, while higher values represent more vivid colors. +- `hue`: A unitless number value representing an angle in the color wheel from `0` to `360`. `0` represents red, `120` represents green, and `240` represents blue. + +## Example 1 + +```css +h1 { + color: lch(50% 100 50); +} +``` + +Sets the font color of the `h1` element to a vibrant orange-yellow color with medium lightness: + +![lch() Example 1](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-1.png) + +## Example 2 + +```css +p { + color: lch(70% 50 260); +} +``` + +Sets the font color of the `p` element to a light purple color with moderate chroma: + +![lch() Example 2](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-2.png) diff --git a/media/css-colors-lch-example-1.png b/media/css-colors-lch-example-1.png new file mode 100755 index 0000000000000000000000000000000000000000..fd069e7ea80327e35c5eedc69de1408cf6bcc1e4 GIT binary patch literal 15111 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 Wl|2p_0{wGco$>8I+D>{q`M&^^*VcUi literal 0 HcmV?d00001 diff --git a/media/css-colors-lch-example-2.png b/media/css-colors-lch-example-2.png new file mode 100755 index 0000000000000000000000000000000000000000..b1d0555b2de462113bd921035f54a5a1518275c5 GIT binary patch literal 8637 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 Date: Tue, 10 Feb 2026 07:17:43 +0000 Subject: [PATCH 2/4] Update lch() docs: add alpha parameter, improve hue description, fix image formats --- content/css/concepts/colors/terms/lch/lch.md | 23 ++++++++++++++---- ...ple-1.png => css-colors-lch-example-1.jpg} | Bin ...ple-2.png => css-colors-lch-example-2.jpg} | Bin media/css-colors-lch-example-3.jpg | Bin 0 -> 7504 bytes 4 files changed, 18 insertions(+), 5 deletions(-) rename media/{css-colors-lch-example-1.png => css-colors-lch-example-1.jpg} (100%) rename media/{css-colors-lch-example-2.png => css-colors-lch-example-2.jpg} (100%) create mode 100755 media/css-colors-lch-example-3.jpg diff --git a/content/css/concepts/colors/terms/lch/lch.md b/content/css/concepts/colors/terms/lch/lch.md index 502884a8ed3..2bf9668bb5c 100644 --- a/content/css/concepts/colors/terms/lch/lch.md +++ b/content/css/concepts/colors/terms/lch/lch.md @@ -14,17 +14,18 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) color space, which provides a more perceptually uniform way to represent colors compared to traditional RGB or HSL color spaces. +The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) color space, which provides a uniform way to represent colors compared to traditional RGB or HSL color spaces. ## Syntax ```pseudo -: lch(lightness chroma hue); +: lch(lightness chroma hue / alpha); ``` - `lightness`: A percentage value from `0%` to `100%`. Represents the brightness of the color. `0%` is completely black, `100%` is completely white, and `50%` represents the mid-tone. - `chroma`: A number value (typically `0` to `150` or higher). Represents the colorfulness or intensity of the color. `0` represents a neutral gray with no color, while higher values represent more vivid colors. -- `hue`: A unitless number value representing an angle in the color wheel from `0` to `360`. `0` represents red, `120` represents green, and `240` represents blue. +- `hue`: An angle value on the color wheel. It can be given with units like `deg`, `rad`, or `turn`, or as a unitless number interpreted as degrees. Angles wrap, so they are not limited to `0`–`360`; for reference, `0deg` represents red, `120deg` represents green, and `240deg` represents blue. +- `alpha` (optional): A number from `0` to `1`, or a percentage from `0%` to `100%`, representing the opacity of the color. `0` (or `0%`) is fully transparent, `1` (or `100%`) is fully opaque. Defaults to `1` if omitted. ## Example 1 @@ -36,7 +37,7 @@ h1 { Sets the font color of the `h1` element to a vibrant orange-yellow color with medium lightness: -![lch() Example 1](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-1.png) +![lch() Example 1](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-1.jpg) ## Example 2 @@ -48,4 +49,16 @@ p { Sets the font color of the `p` element to a light purple color with moderate chroma: -![lch() Example 2](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-2.png) +![lch() Example 2](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-2.jpg) + +## Example 3 + +```css +div { + background-color: lch(60% 80 120 / 0.5); +} +``` + +Sets the background color of the `div` element to a semi-transparent green color with 50% opacity: + +![lch() Example 3](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-3.jpg) diff --git a/media/css-colors-lch-example-1.png b/media/css-colors-lch-example-1.jpg similarity index 100% rename from media/css-colors-lch-example-1.png rename to media/css-colors-lch-example-1.jpg diff --git a/media/css-colors-lch-example-2.png b/media/css-colors-lch-example-2.jpg similarity index 100% rename from media/css-colors-lch-example-2.png rename to media/css-colors-lch-example-2.jpg diff --git a/media/css-colors-lch-example-3.jpg b/media/css-colors-lch-example-3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..9ca7c8c88fc3d22a029efcd42cdd99b21911a28a GIT binary patch literal 7504 zcmb_=cTf{dw|A&gL_(LU6oUp5rS~EbAV5$`0O`_{l2D`<1q7u_4;`LJ2~DIV^di!m z0)jw5BqGwK_i}yiedl|hnfHGGeDnQwX6MZ8&hD8#zjOASb2)YS9RSqPglhuG$N&Jc zKLc<{1gHZj$p6OQGsPcJQd9m78ft1PYFZjPI$9c9TDq%@SLx`l(bLj0Ffm+X1Ol0W zbXS>Kn1L*RWZ-27fSv|$kMhs4On}QS0PmlZDaigCfPaCK`U({V895E@pJf#wfb7pb z
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 DbrwmR literal 0 HcmV?d00001 From 9b5914767f3ca7c611bc27fee41975a7f6c35880 Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Thu, 12 Feb 2026 13:16:55 +0530 Subject: [PATCH 3/4] Enhance lch() documentation with clarity and details Updated the description to clarify that LCH is a perceptually uniform color space. Added details about parameters and return value for the lch() function. --- content/css/concepts/colors/terms/lch/lch.md | 24 ++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/content/css/concepts/colors/terms/lch/lch.md b/content/css/concepts/colors/terms/lch/lch.md index 2bf9668bb5c..799f9e679da 100644 --- a/content/css/concepts/colors/terms/lch/lch.md +++ b/content/css/concepts/colors/terms/lch/lch.md @@ -1,9 +1,9 @@ --- Title: 'lch()' -Description: 'Defines color by using lightness, chroma, and hue values in the LCH color space.' +Description: 'Defines a color using lightness, chroma, and hue values in the perceptually uniform LCH color space.' Subjects: - - 'Web Development' - 'Web Design' + - 'Web Development' Tags: - 'Color' - 'Functions' @@ -14,7 +14,7 @@ CatalogContent: - 'paths/front-end-engineer-career-path' --- -The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) color space, which provides a uniform way to represent colors compared to traditional RGB or HSL color spaces. +The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) color space, introduced in CSS Color Module Level 4. LCH is perceptually uniform, meaning equal changes in values produce roughly equal perceived changes in color. ## Syntax @@ -22,43 +22,49 @@ The **`lch()`** function defines colors using the LCH (Lightness, Chroma, Hue) c : lch(lightness chroma hue / alpha); ``` +**Parameters:** + - `lightness`: A percentage value from `0%` to `100%`. Represents the brightness of the color. `0%` is completely black, `100%` is completely white, and `50%` represents the mid-tone. - `chroma`: A number value (typically `0` to `150` or higher). Represents the colorfulness or intensity of the color. `0` represents a neutral gray with no color, while higher values represent more vivid colors. - `hue`: An angle value on the color wheel. It can be given with units like `deg`, `rad`, or `turn`, or as a unitless number interpreted as degrees. Angles wrap, so they are not limited to `0`–`360`; for reference, `0deg` represents red, `120deg` represents green, and `240deg` represents blue. - `alpha` (optional): A number from `0` to `1`, or a percentage from `0%` to `100%`, representing the opacity of the color. `0` (or `0%`) is fully transparent, `1` (or `100%`) is fully opaque. Defaults to `1` if omitted. +**Return value:** + +None. The `lch()` function produces a color value that can be used in CSS properties such as `color`, [`background-color`](https://www.codecademy.com/resources/docs/css/background/background-color), or [`border-color`](https://www.codecademy.com/resources/docs/css/borders/border-color). + ## Example 1 +The following example sets the font color of the `h1` element to a vibrant orange-yellow color with medium lightness: + ```css h1 { color: lch(50% 100 50); } ``` -Sets the font color of the `h1` element to a vibrant orange-yellow color with medium lightness: - ![lch() Example 1](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-1.jpg) ## Example 2 +The following example sets the font color of the `p` element to a light purple color with moderate chroma: + ```css p { color: lch(70% 50 260); } ``` -Sets the font color of the `p` element to a light purple color with moderate chroma: - ![lch() Example 2](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-2.jpg) ## Example 3 +This example sets the background color of the `div` element to a semi-transparent green color with 50% opacity: + ```css div { background-color: lch(60% 80 120 / 0.5); } ``` -Sets the background color of the `div` element to a semi-transparent green color with 50% opacity: - ![lch() Example 3](https://raw.githubusercontent.com/Codecademy/docs/main/media/css-colors-lch-example-3.jpg) From f6edba784490e935f0960dd1486843031ea179e0 Mon Sep 17 00:00:00 2001 From: abdultalha0862 <20211a0405@bvrit.ac.in> Date: Thu, 12 Feb 2026 10:09:47 +0000 Subject: [PATCH 4/4] Update LCH color example image --- media/css-colors-lch-example-3.jpg | Bin 7504 -> 29247 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/media/css-colors-lch-example-3.jpg b/media/css-colors-lch-example-3.jpg index 9ca7c8c88fc3d22a029efcd42cdd99b21911a28a..d2e9b19aa647eab937cf554a3c613bf4f0347df9 100755 GIT binary patch literal 29247 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 literal 7504 zcmb_=cTf{dw|A&gL_(LU6oUp5rS~EbAV5$`0O`_{l2D`<1q7u_4;`LJ2~DIV^di!m z0)jw5BqGwK_i}yiedl|hnfHGGeDnQwX6MZ8&hD8#zjOASb2)YS9RSqPglhuG$N&Jc zKLc<{1gHZj$p6OQGsPcJQd9m78ft1PYFZjPI$9c9TDq%@SLx`l(bLj0Ffm+X1Ol0W zbXS>Kn1L*RWZ-27fSv|$kMhs4On}QS0PmlZDaigCfPaCK`U({V895E@pJf#wfb7pb z
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 DbrwmR