CSS Course
CSS controls how web pages look: colours, fonts, spacing, layout, animation and how a design adapts from a phone to a wide monitor. This course starts with your first rule and goes all the way to modern features like container queries, cascade layers, nesting and :has() — finishing with a complete, responsive landing page.
What you'll learn
The course has 50 lessons in six parts:
- Getting Started — how CSS is attached, rule syntax, every kind of selector, pseudo-classes and pseudo-elements, the cascade, specificity and inheritance.
- Values & Colour — units, colour formats including
oklch(), backgrounds, gradients, custom properties and functions likecalc()andclamp(). - Boxes & Text — the box model, borders, overflow, shadows, typography, web fonts, and styling lists and tables.
- Layout — display, positioning, stacking, floats, Flexbox, Grid, alignment, media queries, container queries, logical properties and columns.
- Visual Effects — transforms, transitions, keyframe and scroll-driven animations, filters, blend modes, clipping, masks and scrolling.
- Modern CSS & Good Practice — modern selectors, nesting, cascade layers,
@scope, dark mode, form styling, accessibility, architecture and a final project.
Every Try it yourself editor has two parts: the CSS you edit, and a small demo page that updates live as you type. All examples in the course have been checked with Stylelint and an HTML validator.
You should know basic HTML first — the HTML course covers everything you need.
Practice
- Playground — a blank CSS editor with a live demo page.
- Exercises — fill-in-the-blank tasks and styling challenges with solutions.
- Quiz — test your understanding across the whole course.
- Syllabus & Study Plan — learning outcomes and a week-by-week schedule.
Lessons
Getting Started
- Introduction to CSS
- Adding CSS & Syntax
- Selectors
- Combinators & Attribute Selectors
- Pseudo-classes
- Pseudo-elements
- The Cascade & Specificity
- Inheritance & Default Values
Values & Colour
- Units & Sizing
- Colours
- Backgrounds
- Gradients
- CSS Variables (Custom Properties)
- CSS Functions: calc, min, max & clamp
Boxes & Text
- The Box Model
- Borders & Outlines
- box-sizing & Overflow
- Shadows & Rounded Corners
- Typography
- Web Fonts
- Styling Text
- Styling Lists & Tables
Layout
- Display & Visibility
- Positioning
- z-index & Stacking Contexts
- Floats & Wrapping Text
- Flexbox
- Sizing Flex Items
- CSS Grid
- Grid Placement & Template Areas
- Centring & Alignment
- Media Queries & Responsive Design
- Container Queries
- Logical Properties & Writing Modes
- Multi-column Layout
Visual Effects
- Transforms
- Transitions
- Animations
- Filters & Blend Modes
- clip-path & Masks
- object-fit & aspect-ratio
- Scrolling
Modern CSS & Good Practice
- Modern Selectors: :has, :is, :where & :not
- CSS Nesting
- Cascade Layers & @scope
- Dark Mode & Themes
- Styling Forms
- Accessible CSS
- CSS Architecture & Best Practices
- Project: A Landing Page
Practice
Where to start: begin with Introduction and work through in order — layout makes much more sense once the box model and the cascade are clear. Afterwards, continue with the JavaScript course to make your pages interactive.