Depending who you ask, CSS is either awesome or broken. CSS is not a programming language, unless it is. CSS is too simple and entirely too difficult. CSS is weird — not like other languages — and not like print design either, but trapped in a strange middle ground with unique rules and constraints.
The web is designed to work across platforms, devices, languages, and interfaces, but how can we possibly design for that unknown and always-changing canvas? CSS is designed to be resilient, declarative, accessible, and contextual — with built-in progressive enhancement and graceful degradation. We’ll look at practical ways to leverage those aspects of the language in our everyday work.
We don’t have to wait years for support in every browser before we use the new features, and we don’t have to duplicate our work for every browser we support. From layouts to variables, support queries, and duplicated properties: we can write resilient and modern CSS that works across the entire web — now and into the future.