Blogs

A collection of my thoughts, tutorials, and insights on web development.

Recreating Apple’s Vision Pro Animation in CSS

Recreating Apple’s Vision Pro Animation in CSS

Putting CSS’s more recent scrolling animation capabilities to the test to recreate a complex animation of the Apple Vision Pro headset from Apple's website.

Read More
Enhancing Astro With a Markdown Component

Enhancing Astro With a Markdown Component

I use a Markdown Component for two main reasons: (1) It reduces the amount of markup I need to write, and (2) it converts typographic symbols. Here's how it works.

Read More
Markdown + Astro = ❤️

Markdown + Astro = ❤️

Although Astro has built-in support for Markdown via .md files, I'd argue that your Markdown experience can be enhanced with MDX.

Read More
What’s !important #9: clip-path Jigsaws, View Transitions Toolkit, Name-only Containers, and More

What’s !important #9: clip-path Jigsaws, View Transitions Toolkit, Name-only Containers, and More

This issue of What’s !important brings you clip-path jigsaws, a view transitions toolkit, name-only containers, the usual roundup of new, notable web platform features, and more.

Read More
A Well-Designed JavaScript Module System is Your First Architecture Decision

A Well-Designed JavaScript Module System is Your First Architecture Decision

Behind every technology, there should be a guide for its use. While JavaScript modules make it easier to write “big” programs, if there are no principles or systems for using them, things could easily become difficult to maintain.

Read More
The Radio State Machine

The Radio State Machine

One of the best-known examples of CSS state management is the checkbox hack. What if we want a component to be in one of three, four, or seven modes? That is where the Radio State Machine comes in.

Read More
7 View Transitions Recipes to Try

7 View Transitions Recipes to Try

Craving for a view transition? Sunkanmi has lots of common transitions you can drop into your website right now!

Read More
Selecting a Date Range in CSS

Selecting a Date Range in CSS

A clever approach for selecting multiple dates on a calendar where the :nth-child()'s “n of selector” syntax does all the heavy lifting... even in the JavaScript.

Read More
Alternatives to the !important Keyword

Alternatives to the !important Keyword

Cascade layers, specificity tricks, smarter ordering, and even some clever selector hacks can often replace !important with something cleaner, more predictable, and far less embarrassing to explain to your future self.

Read More