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.
Background colours and images, gradients, borders, radius and box shadows.
Organise CSS into layers so resets, frameworks and components stop fighting over specificity.
Lay out items in a row or column with display: flex, direction, gap and basic alignment.
The parent selector :has(), and :is() and :where() for shorter selectors with controlled specificity.
Descendant, child and sibling combinators, and selecting by attribute value.
Style states like :hover, :focus-visible and :checked, positions like :nth-child, and generated content with ::before and ::after.
justify-content, align-items, wrapping, and how flex-grow, flex-shrink and flex-basis share space.
Two-dimensional layout with grid-template-columns, rows, the fr unit, gap and placing items.
What CSS does and the three ways to add it to a page: inline, internal and external stylesheets.
Describe page layouts visually with grid-template-areas, and rearrange them at different widths.
How a CSS rule is built, comments, and reading errors in DevTools.
A practical comparison with examples of components and pages that suit each, and how they combine.
Target elements by type, class and ID, group selectors, and why classes are usually the right choice.
How each position value works, containing blocks, and sticky headers and sidebars.
How browsers decide which rule wins, calculating specificity, inherited properties, and why to avoid !important.
Why z-index sometimes does nothing: stacking contexts, what creates them, and how to debug layering.
Every way to write colour in CSS, transparency, and why oklch gives more predictable palettes.
Load custom fonts, avoid invisible text with font-display, self-host versus Google Fonts, and variable font axes.
Absolute and relative units, when to use each, and why rem is the usual choice for type.
Define and use custom properties, scope and inheritance, fallbacks, and theming with tokens.