Our latest articles.

Designing a Better 404 “Page Not Found” Page

Visitors land on your 404 page when something goes wrong: a mistyped URL, an outdated link, or a moved document. A forgettable “Not Found” costs trust and creates drop-offs. In this tutorial, you will design a polished, helpful 404 page with clean HTML, modern CSS, accessible semantics, and small flourishes that make recovery effortless. By … Read more

Designing a “Loading” State

A blank screen gives no context and little comfort. A strong loading state sets expectations, signals progress, and buys time. In this tutorial you will design two reliable patterns: a spinner card with a progress hint and a content skeleton. By the end you will have a production-ready loading system with clean HTML, modern CSS, … Read more

How to Use shape-margin with shape-outside

Text wraps feel flat when every floated image forces a rectangular gutter. The CSS Shapes module fixes that with shape-outside, and shape-margin is the dial that controls breathing room around the contour. By the end of this article you will build two practical examples: a circular avatar that wraps elegantly, and an angled pullquote that … Read more

Animating SVG Paths with CSS

SVG path animation is a reliable way to deliver crisp, scalable motion without JavaScript. By the end of this article you will build two polished path animations with pure CSS: a signature-style line drawing and a circular check badge. You will learn the small set of CSS properties that make paths “draw” themselves, how to … Read more

How to Design Better Buttons

Buttons carry most interactions. They start purchases, submit forms, open panels, and cancel destructive actions. By the end of this article you will ship a small, themeable button system with clear states, keyboard-friendly focus, icon support, loading feedback, and motion that feels intentional. The CSS is framework-agnostic and production-ready. Why Designing Better Buttons Matters Good … Read more

How Does border-radius: 50% Create Circles vs. Ovals?

You set border-radius: 50% and expect a perfect circle, yet the result is an oval. The reason is not a bug, it is geometry. By the end of this article you will know exactly how border-radius: 50% behaves, how to guarantee circles, how to intentionally create ovals, and how to apply this to images, avatars, … Read more

How to Design “Warning” and “Success” Banners

Alerts either calm users or save their day. By the end of this article you will build two production‑ready banners: a bold “Warning” banner that draws attention fast, and a calm “Success” banner that confirms an action without stealing focus. Both components use clean HTML, modern CSS, and small, CSS‑only icons that do not rely … Read more

How to Make a “Pulsing” Animation

A pulsing animation draws the eye without screaming for attention. Think about a live-status dot, a subtle beacon on a map pin, or a call-to-action that gently radiates. By the end of this guide, you will build a flexible, accessible, and smooth pulsing effect in pure CSS, with variants for small indicators and buttons. You … Read more

The Anatomy of a Perfect Tooltip

Tooltips look simple, yet building one that feels instant, reads clearly, and behaves well under keyboard, mouse, and touch takes care. In this guide you will craft a production-grade tooltip with a clean caret arrow, flexible placement, smooth motion, theming with CSS variables, and baked-in accessibility. By the end, you will have a reusable pattern … Read more

7 Principles of Good Icon Design

Icons do not just decorate an interface; they carry meaning in a few strokes. By the end of this article, you will know seven practical principles of good icon design and see them applied in code. We will build a small, reusable icon set with pure CSS that stays sharp, consistent, and accessible. You will … Read more