In this episode, Adam talks to Mark Dalgleish about common mistakes people make in their approach to constructing layouts, and how dedicated layout components can make your component system much easier to work with.
What problems you run into when baking white space into components, and why your components should never contain any surrounding white space at all
Layout challenges you run into due to the way the browser includes line-height in the size of text elements
The trick Mark's team uses to remove surrounding white space from text elements, without removing the space between wrapping lines
Using a "stack" component to specify the space between sibling elements
Issues with naively just using margin on one side of an element to space elements
The upcoming "gap" property in CSS and how it proves layout components are a good idea
Using a "content block" component for horizontal spacing/sizing at the page level
Tricks for maintaining vertical rhythm despite 1px borders trying to ruin it all for you
Why tools like React are so important for being able to implement designs in a way that matches how designers think
Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.If you do want to support the show, the best way to do it is to pick up one of my books or courses:
Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.
Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.
Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.