HTML Foundations
Write your first web pages in semantic HTML, with a mentor reviewing each page you build.
Find the right course by technology, experience level and learning format.
161 courses · showing 1–24
Write your first web pages in semantic HTML, with a mentor reviewing each page you build.
Turn fixed-width pages into layouts that work from a 320px phone to a wide desktop.
Lay out navigation bars, cards and page sections with Flexbox, and get a reviewer's notes on your build.
Build page and component layouts with CSS Grid, from simple two-column pages to full dashboards.
Build a one-page product landing page from a design file, from hero to footer.
Build and publish a simple one-page portfolio site in a weekend.
Add transitions, keyframe animations and micro-interactions that respect reduced motion.
Build forms that are easy to fill in, with native validation and clear error messages.
Define colors, spacing and type once as CSS custom properties and reuse them across a site.
Style reusable components such as buttons, cards and badges so they work anywhere on a site.
Organize large stylesheets with Sass: variables, partials, mixins and a build step.
Build a page with Tailwind CSS utility classes and set up your own theme.
Serve the right image size to every screen with srcset, sizes, picture and modern formats.
Set readable, well-spaced type on the web with a type scale, web fonts and fluid sizing.
Design and build a production-grade admin dashboard layout one to one with a senior mentor.
Learn variables, functions, arrays and objects by writing small programs that run in the browser.
Make pages respond to clicks, typing and form input by working with the DOM.
Fetch data, handle loading and errors, and write async code with promises and async/await.
Split JavaScript into ES modules with imports, exports and a simple build step.
Write modern JavaScript with let and const, arrow functions, destructuring, spread and optional chaining.
Transform and search data with map, filter, reduce, find and sort.
Model data and behavior with classes, prototypes, getters and private fields.
Write clearer JavaScript with pure functions, immutability and composition.
Save data in the browser with localStorage, sessionStorage and IndexedDB.