## CSS hsla() Function
The `hsla()` function in CSS is used to define colors using the **Hue, Saturation, Lightness, and Alpha (transparency)** model.
By adding an alpha channel to the standard HSL color model, `hsla()` allows you to control the opacity of a color, making it easy to create semi-transparent overlays, soft backgrounds, and complex visual depths.
---
## Syntax
```css
hsla(hue, saturation, lightness, alpha)
```
### Parameter Values
| Parameter | Type / Range | Description |
| :--- | :--- | :--- |
| **`hue`** | Angle (`0` to `360` or with units like `deg`) | Represents the color wheel position.
β’ `0` (or `360`) = Red
β’ `120` = Green
β’ `240` = Blue |
| **`saturation`** | Percentage (`0%` to `100%`) | Defines the intensity of the color.
β’ `0%` = Completely gray (desaturated)
β’ `100%` = Full, vibrant color |
| **`lightness`** | Percentage (`0%` to `100%`) | Defines how light or dark the color is.
β’ `0%` = Completely black
β’ `50%` = Normal (the pure color)
β’ `100%` = Completely white |
| **`alpha`** | Number (`0` to `1`) or Percentage | Defines the opacity of the color.
β’ `0` (or `0%`) = Fully transparent
β’ `1` (or `100%`) = Fully opaque |
---
## Code Examples
### 1. Basic Usage with Varying Lightness and Opacity
The following example demonstrates how to define a green base color (`hue: 120`) and adjust its lightness and transparency:
```css
/* Pure green with 30% opacity */
#p1 { background-color: hsla(120, 100%, 50%, 0.3); }
/* Light green with 30% opacity */
#p2 { background-color: hsla(120, 100%, 75%, 0.3); }
/* Dark green with 30% opacity */
#p3 { background-color: hsla(120, 100%, 25%, 0.3); }
/* Muted/pastel green with 30% opacity */
#p4 { background-color: hsla(120, 60%, 70%, 0.3); }
```
### 2. Modern Space-Separated Syntax
Modern CSS specifications also support a space-separated syntax where the alpha value is separated by a forward slash (`/`). Both syntaxes are fully supported by modern browsers:
```css
/* Equivalent to hsla(120, 100%, 50%, 0.5) */
.modern-hsla {
background-color: hsl(120 100% 50% / 0.5);
}
```
*(Note: In modern CSS, the `hsl()` and `hsla()` functions are aliases of each other. You can use either to specify alpha values).*
---
## Browser Support
The numbers in the table specify the first browser version that fully supports the `hsla()` function.
| Function | Chrome | Edge / IE | Firefox | Safari | Opera |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **`hsla()`** | 1.0 | 9.0 | 1.0 | 3.1 | 9.5 |
---
## Considerations & Best Practices
1. **Readability**: The HSL/HSLA model is often preferred by designers and developers over RGB/RGBA because it is highly intuitive. It is much easier to adjust lightness or saturation by tweaking percentages than it is to calculate hex or RGB values.
2. **Fallback Colors**: If you need to support extremely legacy browsers (such as Internet Explorer 8 and earlier), provide a solid fallback color using hex or `rgb()` before the `hsla()` declaration:
```css
.fallback-example {
background-color: #00ff00; /* Fallback for older browsers */
background-color: hsla(120, 100%, 50%, 0.5);
}
```
3. **Alpha vs. Opacity**: Using `hsla()` to apply transparency to a background color ensures that only the background is transparent. If you use the CSS `opacity` property instead, it will make the entire elementβincluding any text or child elementsβtransparent.
Func Hsla
π
2026-06-20 | π CSS
YouTip