CoachnestCoachnest
Sign InGet Started
Back to course

Next.js 16: The Complete Developer Guide

…
—
Contents
1

What's New in Next.js 16

Reading14mFree
2

Installation, CLI & Your First Project

Reading12mFree
3

Project Structure & Conventions Deep Dive

Reading16m
4

Turbopack — The New Default Bundler

Video18m
5

Configuring TypeScript, ESLint & next.config.ts

Reading14m
6

Chapter 1 — Quiz

Quiz10m
7

App Router Fundamentals

Reading16m
8

Dynamic Routes, Catch-Alls & Type-Safe Params

Reading14m
9

Route Groups & Parallel Routes

Reading16m
10

Intercepting Routes & Modal Patterns

Reading12m
11

Loading, Error & Not-Found UI

Reading12m
12

Chapter 2 — Routing Quiz

Quiz12m
13

Understanding the Server/Client Boundary

Reading18m
14

Choosing When to use "use client"

Reading14m
15

Composing Server & Client Components

Reading14m
16

server-only, client-only & Code Splitting

Reading12m
17

Chapter 3 — Quiz

Quiz10m
18

Fetching Data in Server Components

Reading14m
19

The Next.js 16 Cache Model

Reading16m
20

Revalidation: revalidateTag, revalidatePath & On-Demand

Reading12m
21

Cache Components — Building Reusable Cached Functions

Reading14m
22

Search Params, Cookies & Dynamic APIs

Reading12m
23

Chapter 4 — Quiz

Quiz12m
24

Server Actions From First Principles

Reading16m
25

Forms with useActionState & Progressive Enhancement

Reading14m
26

Optimistic UI with useOptimistic

Reading12m
27

Validation with Zod + Server Actions

Reading12m
28

Chapter 5 — Quiz

Quiz10m
29

Static vs Dynamic vs Streaming

Reading14m
30

generateStaticParams & Pre-Rendering Dynamic Routes

Reading12m
31

Incremental Static Regeneration (ISR)

Reading12m
32

Partial Prerendering (PPR)

Reading16m
33

Edge Runtime vs Node.js Runtime

Reading12m
34

Rendering Strategies Deep Dive

Video22m
35

Chapter 6 — Quiz

Quiz12m
36

Tailwind CSS v4 with Next.js 16

Reading14m

CSS Modules, Global Styles & Scoped CSS

Reading10m
38

next/image — Smart, Fast Images

Reading14m
39

Fonts, Icons & Metadata

Reading12m
40

Chapter 7 — Quiz

Quiz10m
41

Middleware Fundamentals

Reading14m
42

Sessions, JWTs & Cookies

Reading16m
43

Protecting Server Components & Server Actions

Reading12m
44

Chapter 8 — Quiz

Quiz10m
45

Prisma with Next.js — The Production Setup

Reading14m
46

Mutations: Server Actions + Database Writes

Reading12m
47

Route Handlers & REST APIs

Reading12m
48

Chapter 9 — Quiz

Quiz10m
49

Unit & Component Testing with Vitest

Reading12m
50

End-to-End Testing with Playwright

Reading14m
51

Deploying to Vercel

Reading12m
52

Self-Hosting with Docker

Reading14m
53

Production Performance Checklist

Reading12m
54

Final Assessment — Next.js 16 Mastery

Quiz20m
←→navigate lessons
Chapter 7 of 10·Chapter 7 — Styling, Assets & Performance
Lesson 37 of 54Reading10 min

CSS Modules, Global Styles & Scoped CSS

#CSS Modules, Global Styles & Scoped CSS¶

Tailwind isn't the only option. Next.js supports CSS Modules, global CSS, and CSS-in-JS — usually all three at once.

Global CSS¶

Imported once from the root layout:

tsx
2 lines
1// app/layout.tsx
2import "./globals.css";

You can't import global CSS from any other component. This enforces a single global file.

CSS Modules¶

For component-scoped styles, name the file *.module.css.

css
11 lines
1/* Button.module.css */
2.button {
3  border-radius: 6px;
4  padding: 8px 16px;
5  background: black;
6  color: white;
7}
8
9.button:disabled {
10  opacity: 0.5;
11}
tsx
5 lines
1import styles from "./Button.module.css";
2
3export function Button({ children, disabled }: Props) {
4  return <button className={styles.button} disabled={disabled}>{children}</button>;
5}

Class names are hashed at build (Button_button__a1b2c3) so collisions across files are impossible.

CSS-in-JS¶

CSS-in-JS libraries that run at build time (vanilla-extract, Pigment CSS, StyleX) work in Server Components. Runtime CSS-in-JS (Emotion, styled-components) requires "use client" and a special setup — not recommended for new code.

Sass¶

bash
1 line
1npm i -D sass

Then import .scss files anywhere CSS works. CSS Modules with Sass: Button.module.scss.

A Practical Mix¶

In a real codebase, a common split:

Style forTool
Layout & utilitiesTailwind
Component-specific tricky stylesCSS Modules
Single global file (resets, fonts, vars)global.css
Marketing landing animationsFramer Motion

Don't dogmatize one tool. Pick whichever takes the least code at the call site.

Theming¶

CSS variables work the best across all these tools:

css
9 lines
1:root {
2  --color-fg: #0a0a0a;
3  --color-bg: #ffffff;
4}
5
6.dark {
7  --color-fg: #f5f5f5;
8  --color-bg: #0a0a0a;
9}
tsx
1 line
1<div style={{ color: "var(--color-fg)", background: "var(--color-bg)" }} />

Same approach works whether you're styling with CSS modules, Tailwind (bg-[var(--color-bg)]), or plain CSS.

Previous

Tailwind CSS v4 with Next.js 16

Next

next/image — Smart, Fast Images

Use ← → arrow keys to navigate between lessons