# Web Fundamentals

> HTML, CSS, and how the browser actually works - the web platform itself, learned properly before any framework touches it.

11 guides.

- [What the Web Actually Is](https://themissingmanual.dev/guides/what-the-web-actually-is) _(beginner)_ - The web isn't magic - it's two programs talking. This guide builds the mental model everything else in Web Fundamentals depends on: browsers and servers, URLs and DNS, and the three languages (HTML, CSS, JS) that make a page.
- [HTML From Zero](https://themissingmanual.dev/guides/html-from-zero) _(beginner)_ - HTML is the structure underneath every web page - the tags that say 'this is a heading, this is a link, this is a list.' Build a real About Me page from an empty skeleton to a fully semantic document.
- [CSS Without Tears](https://themissingmanual.dev/guides/css-without-tears) _(beginner)_ - CSS looks like a pile of unrelated rules until you learn the handful of ideas underneath it - selectors, the box model, units, and positioning. This guide builds all four on one running example.
- [Flexbox and Grid](https://themissingmanual.dev/guides/flexbox-and-grid) _(intermediate)_ - The two CSS layout systems that replaced floats and hacks: Flexbox for rows and columns, Grid for full two-dimensional layouts, and how to pick between them.
- [The DOM Explained](https://themissingmanual.dev/guides/the-dom-explained) _(intermediate)_ - The DOM is the live, in-memory tree the browser builds from your HTML - and the thing JavaScript actually touches. Learn how it differs from the HTML source, how to select and change elements, and how events bubble.
- [Forms That Work](https://themissingmanual.dev/guides/forms-that-work) _(intermediate)_ - Forms are how the web collects input - and most of what makes them good or broken lives in details people skip. Build one real signup form and wire up labels, validation, and submission the right way.
- [How the Browser Renders a Page](https://themissingmanual.dev/guides/how-the-browser-renders-a-page) _(intermediate)_ - What happens between the browser receiving HTML/CSS bytes and pixels showing on screen - parsing, the render tree, layout, paint, and why some style changes are far more expensive than others.
- [Responsive Design](https://themissingmanual.dev/guides/responsive-design) _(intermediate)_ - How to build a layout that works from a phone screen to a desktop monitor: the viewport meta tag, media queries, fluid units, and responsive images.
- [Accessibility From Day One](https://themissingmanual.dev/guides/accessibility-from-day-one) _(intermediate)_ - Accessibility isn't a checklist bolted on at the end - it's a byproduct of using HTML correctly. Learn why it matters, how ARIA and focus management fill the gaps semantic HTML leaves, and how to test with a real screen reader.
- [Browser Storage and Cookies](https://themissingmanual.dev/guides/browser-storage-and-cookies) _(intermediate)_ - How browsers remember things between page loads: cookies and their security attributes, localStorage/sessionStorage/IndexedDB, and which one to reach for depending on what you're storing.
- [Building Your Own Mini Framework](https://themissingmanual.dev/guides/building-your-own-mini-framework) _(advanced)_ - React, Vue, and Svelte feel like magic until you build the two ideas underneath them yourself: a virtual DOM diff and a signal-based reactivity system. Write both from scratch in plain JavaScript.
