CSS Gradients
CSS Gradients
The CSS gradient functions let you display smooth transitions between two or more colors within an element.
CSS defines three types of gradients:
- Linear Gradients - The color transition goes down, up, left, right, or diagonally
- Radial Gradients - The color transition goes out from a central point
- Conic Gradients - The color transition is rotated around a center point
The CSS gradient functions are used within the
background-image
property.
CSS linear-gradient() Function
The CSS
linear-gradient()
function creates a linear gradient.
A linear gradient defines a color transition that goes in a straight line, it can go down, up, to left, to right, or diagonally.
A linear gradient requires at least two color stops. Color stops are the colors you want to render smooth transitions among. You can also set a starting point and a direction (or an angle) along with the gradient effect.
Syntax
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
Direction - Top to Bottom (this is default)
The following example shows a linear gradient that goes from top to bottom. It starts red, transitioning to yellow:
Direction - Bottom to Top
The following example shows a linear gradient that goes from bottom to top. It starts red, transitioning to yellow:
Direction - Left to Right
The following example shows a linear gradient that goes from left to right. It starts red, transitioning to yellow:
Direction - Diagonal
The following example shows a linear gradient that goes from top-left to bottom-right. It starts red, transitioning to yellow:
Linear Gradient - Using Angles
If you want more control over the direction of the gradient, you can define
an angle
parameter, instead of the predefined directions (to bottom, to
top, to right, to left, to bottom right, etc.).
- A value of 0deg is equivalent to "to top".
- A value of 90deg is equivalent to "to right".
- A value of 180deg is equivalent to "to bottom".
- A value of 270deg equivalent to "to left"
Syntax
background-image: linear-gradient(angle, color-stop1, color-stop2);
The following example shows how to use angles on linear gradients:
Linear Gradient - Multiple Color Stops
The following example shows a linear gradient (from top to bottom) with multiple color stops:
The following example shows a linear gradient (from left to right) with the color of the rainbow and some text:
Example
#grad {
background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
Try it Yourself »
Linear Gradient - Transparency
CSS gradients also support transparency, which can be used to create fading effects.
To add transparency, we use the rgba() function to define the color stops. The last parameter in the rgba() function can be a value from 0 to 1, and it defines the transparency of the color: 0 indicates full transparency, 1 indicates full color (no transparency).
The following example shows a linear gradient that goes from left to right. It starts fully transparent, transitioning to full color red:
Example
#grad {
background-image: linear-gradient(to right, rgba(255,0,0,0),
rgba(255,0,0,1));
}
Try it Yourself »
CSS repeating-linear-gradient() Function
The CSS
repeating-linear-gradient()
function is used to repeat linear gradients:
Example
A repeating linear gradient:
#grad {
background-image:
repeating-linear-gradient(red, yellow 10%, green 20%);
}
Try it Yourself »