CSS variable with Styled Components

CSS variable with Styled Components

Since I’m working with Next.js and Styled-components (also TypeScript, React, GraphQL, Apollo, Storybook & Storyblok CMS) I was wondering, is it possible to use CSS variable’s in Styled Components.

import React, { Component } from 'react'
import styled from 'styled-components'

const CSSVariables = styled.div`
    --color: ${props => props.color};

const Heading = styled.h1`
    margin: 2rem 0 0 0;
    color: var(--color);

const SingleStep = (props: Istep) => {
    return (
            <Heading>My Heading</Heading>
    // All component logic

As you can see in the example above, it is possible and super simple, just like in normal CSS. So make sure that you CSS variable are created in a parent component. It can also be created on a page/layout level if you like.

So I hope this helps you further with building a cool Next.js or React application with Styled-components.


After reading this post, I hope you learned something new or are inspired to create something new! 🤗

If I left you with questions or something to say as a response, scroll down and type me a message. Please send me a DM on Twitter @DevByRayRay when you want to keep it private. My DM’s are always open 😁