1MB Club

CSS Variables

The CSS language is becoming even more awesome and powerful everyday. In this quick article I’d like to focus specifically on the “new” CSS variable function that you can start using in your projects right now.

Getting started is easy

Let’s just jump right in - this is how you create variables in vanilla CSS:

:root {
    --base-color: #e0e0e0;
    --text-color: #111;
}

We are using the :root selector at the very top of our CSS file in order to call these variables into any elements in the rest of our document. This is normally the safest way to include variables.

As for the variables themselves, you declare that they are variables using the -- tags, followed by the variable’s name and it’s property. Pretty simple stuff, right?

Now let’s use those variables:

.header {
    border: 1px solid var(--base-color);
}

.main-container {
    background-color: var(--base-color);
    color: var(--text-color);
}

That’s it! It’s also good to know that CSS variables have pretty decent browser support (who likes IE11 anyway).

Why not just use a preprocessor?

I’m a pretty big fan of Sass and Stylus, but sometimes it’s refreshing to just use vanilla CSS for certain projects. Most preprocessors have had the ability to use variables and mixins for a while, but I prefer to avoid build scripts when not absolutely necessary.

Get out there and have fun with some variables!

Special Thanks

I'm extremely grateful for the support from the "Hall of Fame" supporters:
abakada.org adast.dk alessandrocuzzocrea.com alexeystar.com arc-x.org artemislena.eu b0ba.dev danielsada.tech devitjobs.uk dieses-veganismus.de gtrr.artemislena.eu iosis-labs.com jakobmagnusson.se jamieonkeys.dev kristianscott.co.uk lukealexdavis.co.uk miniskirt.me simone.org t0.vc tedmagaoay.com willem.com wonger.dev xslendi.xyz zoraster.org

If you too would like to support this project and help fund more articles like this one:
Become a supporter today →