Skip to main content

Command Palette

Search for a command to run...

CSS variable with Styled Components

Use Them Easily in Next.js/React.js With TypeScript

Updated
โ€ข2 min readโ€ขView as Markdown
CSS variable with Styled Components
D

๐Ÿš€ Tech Lead / Lead Developer ๐Ÿ”ฅ Writing about CSS, JavaScript, Typescript, Angular, Vue.js, Nuxt.js, Serverless functions, and a lot more web-related topics. https://byrayray.dev/

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 (
        <CSSVariables>
            <Heading>My Heading</Heading>
        </CSSVariables>
    )
    // 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.


Thanks!

hashnode-footer.png I hope you learned something new or are inspired to create something new after reading this story! ๐Ÿค— If so, consider subscribing via email (scroll to the top of this page) or follow me here on Hashnode.

Did you know that you can create a Developer blog like this one, yourself? It's entirely for free. ๐Ÿ‘๐Ÿ’ฐ๐ŸŽ‰๐Ÿฅณ๐Ÿ”ฅ

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 ๐Ÿ˜