Blogs

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

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
Looking at New CSS Multi-Column Layout Wrapping Features

Looking at New CSS Multi-Column Layout Wrapping Features

Chrome 145 introduces the column-height and column-wrap properties, enabling us to wrap the additional content into a new row below, creating a vertical scroll instead of a horizontal scroll.

Read More
Making Complex CSS Shapes Using shape()

Making Complex CSS Shapes Using shape()

Creating rectangles, circles, and rounded rectangles is the basic of CSS. Creating more complex CSS shapes such as triangles, hexagons, stars, hearts, etc. is more challenging but still a simple task if we rely on modern features.

Read More