HTML Complete Course
Build semantic, accessible web pages from your first file to native dialogs, safe embeds and fast loading.
- Beginner
- 25 lessons
- 10 hours
Build semantic, accessible web pages from your first file to native dialogs, safe embeds and fast loading.
Style and lay out modern websites, from your first rule to cascade layers, Grid and scroll-driven animation.
Build pages that work on every screen, from a 320 pixel phone to a wide desktop monitor.
Build and test websites that disabled people can use, from alt text to WCAG 2.2 audits.
Learn modern JavaScript from your first script to closures, async code, modules and the event loop, with projects you build as you go.
Read form values, handle submit, give live validation feedback and send data without a page reload.
Run code in the browser console, load scripts with the script element and defer, and run files with Node.js.
Declare variables with let and const, why var is avoided, and naming conventions.
Primitive types, objects, null versus undefined, and checking types with typeof.
Arithmetic, assignment, logical and comparison operators, type coercion and why strict equality is the default.
Create and combine strings, template literals, and everyday string methods.
Number behaviour, floating-point surprises, parsing numbers, rounding and the Math object.
Make decisions with if and else, truthy and falsy values, switch and the ternary operator.
Repeat work with each loop type, break and continue, and which loop suits arrays and objects.
Define and call functions, default parameters, return values and function expressions.
Arrow function syntax, implicit returns, and how arrows differ from regular functions.
Structure pages with semantic elements instead of generic divs, and how they map to landmarks.
Build palettes and dark mode from a few tokens with color-mix(), relative colour syntax and light-dark().
Build tables with table, tr, th and td, add headers, and know when a table is the wrong tool.
The rendering pipeline, what triggers layout and paint, and using DevTools to find slow styles.
Build a working form, connect labels to inputs, and understand action, method and name.
Animate between page states with the View Transitions API and link animations to scroll position without JavaScript.
Email, number, date, url and other input types, plus required, min, max and pattern for browser validation.
Choose between AVIF, WebP, JPEG, PNG and SVG, and control loading with loading, decoding and fetchpriority.
Embed audio and video with native controls, multiple sources, and captions with the track element.