by Gene Crawford | May 7, 2025
This is from last year when I tried to recreate Rach Smith’s P5.js animation using CSS. The animation seemed like it could be implemented in a breeze, but there’s an illusion of simplicity. The process of manually updating the positions and directions of...
by Gene Crawford | May 6, 2025
I’ve been mulling this topic for months now, and I’m pretty firmly of the opinion if you are attempting to do some layout in CSS, you should reach for display:grid first, followed by display:block, followed by display:flex. Grid allows the layout element to be in...
by Gene Crawford | May 5, 2025
Design principles tell us a shadow is conveys that light is hiding an object, which casts the shadow behind it, giving us a sense of depth. However, if that’s all a shadow is ever used for, then it has not been utilized to its full potential.
by Gene Crawford | May 2, 2025
Here’s a CSS technique that produces blurry image placeholders (LQIPs) without cluttering up your markup — Only a single custom property needed!
by Gene Crawford | May 1, 2025
The cursor has transformed from a simple pointing device into a powerful tool for enhancing user interaction and providing contextual feedback. Software and games are raising the bar for what the cursor interface can do, demonstrating how thoughtful extensions of a...