Historically, layout on the web has been quite difficult. Developers have relied on third-party tools, like Bootstrap, and media queries based on "average" device sizes. Today, however, the web is available on an increasingly large range of devices - everything from your watch to your fridge! We are reaching the limits of what these tools can handle.
The good news is that CSS has you covered now! Modern CSS contains a number of properties that support responsive designs natively. We're going to have a look at CSS columns, flexbox and grid. We'll take a quick look into how each works individually. And then we'll learn how we can combine them to create truly flexible layouts, that work across a huge range of devices, without relying on device-based breakpoints.