Start your journey to CSS Mastery!

This tutorial series is designed to take you from CSS beginner to confident practitioner. It will take some time, and you'll need to be patient, but soon you'll see that CSS is a very powerful tool necessary for making engaging websites and applications.

Fundamentals

Basic Selectors

Learn how to select HTML elements using universal, element, class, and ID selectors. Master the foundation of CSS targeting.

Beginner

Attribute Selectors

Target elements based on their attributes and values with advanced matching patterns including exact, partial, and wildcard matches.

Beginner

Pseudo-Classes

Style elements based on their state or position with :hover, :nth-child, :not(), and many other powerful pseudo-classes.

Beginner

Pseudo-Elements

Create and style special parts of elements using ::before, ::after, ::first-letter, and ::selection pseudo-elements.

Beginner

Combinators

Understand relationships between elements with descendant, child, adjacent sibling, and general sibling combinators.

Beginner

Cascade & Specificity

Master how CSS determines which rules apply when multiple selectors target the same element. Essential for debugging!

Intermediate

Inheritance

Learn which properties automatically pass from parent to child elements and how to control inheritance with inherit, initial, unset, and revert.

Beginner

Units & Measurements

Understand absolute (px) and relative units (rem, em, %, vh/vw) plus modern viewport and container query units.

Beginner

Custom Properties (CSS Variables)

Create reusable, dynamic values with CSS variables. Perfect for theming and maintaining consistency across your styles.

Beginner

Colors & Color Spaces

Explore all color formats from hex and RGB to modern oklch, oklab, and the powerful color-mix() function.

Beginner

CSS Nesting

Write more maintainable CSS with native nesting support. Nest selectors just like you would in Sass or Less, but without preprocessors.

Intermediate

Cascade Layers (@layer)

Take explicit control over the cascade with @layer. Organize your CSS architecture and manage specificity at scale.

Advanced

CSS Scope (@scope)

Create scoped styles that only apply within specific boundaries. Perfect for component-based architectures.

Advanced

Advanced Selectors

Master :is(), :where(), :has(), and complex selector combinations for powerful and flexible styling patterns.

Advanced

Math Functions

Perform calculations with calc(), clamp(), min(), max() and trigonometric functions like sin(), cos(), and tan().

Intermediate

At-Rules

Understand CSS at-rules including @media, @supports, @keyframes, @property, @container, @layer, and more.

Intermediate

View Transitions

Create smooth, animated transitions between DOM states with the View Transitions API for polished user experiences.

Advanced

Typography

Backgrounds

Borders & Effects

Layout

Transforms & Animations

Responsive Design

Interactions

Forms

Tables

Lists

Mobile

Print