What it is

CSS, or Cascading Style Sheets, is the language used to define the look and feel of a website’s HTML. It has two primary jobs:

  • styling, or defining the visual elements like colors and fonts, and
  • layout, or defining how the content is structured on the page.

Why it matters

CSS exists in a weird limbo state where web developers think it is the web designer’s job and designers think it is the developer’s. Many developers avoid learning it for far too long.

Web developers who can also do design are so in-demand that they are commonly referred to as ‘unicorns’.

Be a unicorn!

Web design is a deep topic, but grasping the basics of CSS is essential regardless of what type of developer you become. Even if you only want to deal with the backend, you will have to grapple with CSS at some point and you don’t want to be clueless.

How to learn it

Learning CSS requires learning its basic concepts, such as how Selectors and the Box Model work. From there, working with it a lot will help you pick up and memorize the syntax of its various styling rules, like how to set the background.

To learn layout, you need to learn its various and finicky rules for positioning elements such as Floats, display and positioning, flex box, and/or grid.

Once you’ve covered the basics, you can learn various methodologies for writing maintainable css, and start using CSS frameworks like Bootstrap or Foundation.

Take a look at the Developer Atlas curriculum for detailed sequential CSS lessons.