There was a situation where we had some breadcrumbs being produced by a CMS. The problem was that the breadcrumb appeared on the top-level page as well as it’s children pages. On the top level page it came across very redundant, and this single level breadcrumb would appear right above the page title. However, we wanted the breadcrumb trail to still appear on the second level pages.
Ideally, this kind of situation would be dealt with at the template level, and the markup would simply be absent. In this case, we couldn’t change the template, we could only change the CSS.
The solution was the CSS :only-child pseudo selector.
Being able to confidently offer simple solutions that solve a problem is a hallmark of experience. Before even committing your fingers to a keyboard, experience will (hopefully) allow you to:
- Question requirements. Is something truly necessary?
- Get to the root business goal. People don’t just blindly ask for stuff without a reason – but getting to that real reason can take some digging.
- Redefine success. Get others to see that simplicity and reliability trumps whiz-bang.
I’ve been thinking a lot about principles in front end development lately. Techniques come and go as technology evolves.
The how of things quickly changes. The why is much more timeless.
A principle that is emerging for me is simple: do the least amount possible.