Table of Contents

Add gradient's with ease via the gradient utility class.

This component offers both the background and border versions, which you can modify to your needs.


npm install @fylgja/gradient

Then include the component in to your code via;

@import "@fylgja/gradient";
// Or via PostCSS import
@import "@fylgja/gradient";

@layer support

If you need support for @layer, use the following import;

@use "@fylgja/gradient" with ($gradient-layer: "components");
// Or via PostCSS and other options as native CSS
@import "@fylgja/gradient" layer(components);

How to use

To use the .bg-gradient, .border-gradient or .text-gradient simply add them to any element,

.bg-gradient and .text-gradient will work out of the box,

.border-gradient requires that the element already has a border-width.

This can be done via the border class from the @fylgja/utilpack;

<div class="border border-gradient"></div>

Or just via CSS 😉

    .my-class {
        border-width: 1px;
        border-style: solid;
<div class="my-class border-gradient"></div>

Modifying the angle

Both gradients offer CSS variables and class variables for the gradient angle.

<!-- Class variables -->
<div class="bg-gradient -angle-left"></div>
<!-- CSS variables -->
<div class="bg-gradient" style="--gradient-angle: 360deg;"></div>

Default angles:

  • top-right
  • top-left
  • right
  • left
  • bottom
  • bottom-right
  • bottom-left

Top is the default value

Modifying the color

Both gradients offer CSS variables and class variables for the color options.

<!-- Class variables -->
<div class="bg-gradient -from-theme"></div>
<div class="bg-gradient -to-theme"></div>
<div class="bg-gradient -stop-theme"></div>
<!-- CSS variables -->
<div class="bg-gradient" style="--gradient-from: var(--color-theme);"></div>
<div class="bg-gradient" style="--gradient-to: var(--color-theme);"></div>
<div class="bg-gradient" style="--gradient-stops: chocolate, var(--color-theme), rebeccapurple;"></div>
-from-<COLOR>Gradient starting color
-stops-<COLOR>Gradient color, Overrides the colors completely
-to-<COLOR>Gradient ending color

Default colors:

  • var(--color-theme)
  • var(--color-bg)
  • currentcolor


As with almost all of our components, CSS variables can be configured to add your own look/style.

Want direct control on the base styles, here are the following scss variables can you modify.

$enable-gradient-border: true !default;
$enable-gradient-bg: true !default;
$enable-gradient-text: true !default;

$gradient-colors: (
    "theme": var(--color-theme, #{$color-theme}),
    "bg": var(--color-bg, #{$root-bg}),
    "color": currentcolor,
) !default;

// prettier-ignore
$gradient-angles: (
    "top-right": "to top right",
    "top-left": "to top left",
    "right": "90deg", // Same as `to right`
    "left": "270deg", // Same as `to left`
    "bottom": "180deg", // Same as `to bottom`
    "bottom-right": "to bottom right",
    "bottom-left": "to bottom left"
) !default;
Noticed a typo or is something unclear? Help us improve this page on GitHub.