# CSS 101

A practical CSS series drawn from real experience styling documentation sites, tool dashboards, and web UIs across my projects.

CSS always humbled me more than most languages. The mechanics look simple — property, value, done — but the cascade, specificity, and layout systems trip up even experienced developers. This series covers what I actually know and reach for, from selectors through to modern layout and responsive design.

## Articles

| Part                                                                                      | Topic                                                |
| ----------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [Part 1](https://blog.htunnthuthu.com/getting-started/programming/css-101/css-101-part-1) | Selectors, Specificity, and the Cascade              |
| [Part 2](https://blog.htunnthuthu.com/getting-started/programming/css-101/css-101-part-2) | Box Model, Display, and Positioning                  |
| [Part 3](https://blog.htunnthuthu.com/getting-started/programming/css-101/css-101-part-3) | Flexbox                                              |
| [Part 4](https://blog.htunnthuthu.com/getting-started/programming/css-101/css-101-part-4) | CSS Grid                                             |
| [Part 5](https://blog.htunnthuthu.com/getting-started/programming/css-101/css-101-part-5) | Custom Properties, Responsive Design, and Modern CSS |

## Prerequisites

* HTML fundamentals (see [HTML 101](https://blog.htunnthuthu.com/getting-started/programming/html-101))
* A text editor (VS Code recommended)
* A browser with developer tools

## How I Use CSS

Every project I ship with a web interface involves CSS — whether it is a stylesheet for a static documentation site, scoped styles inside React components, or utility classes for a tool dashboard. Understanding the core language — not just a framework on top of it — means debugging layout issues stops being guesswork.
