Skip to content
Tools & Workflow

Video tour of our isometric toolkit

The editors, plugins and scripts behind every post.

Tile engines figured out draw order decades ago. Sort by the sum of the column and row, draw from the smallest sum to the largest, and most scenes just work. Tall objects that span several tiles need special care, but the simple rule covers floors, walls and small props, which is most of what a blog illustration needs.

Where type fits in

Motion adds a lot to isometric scenes, and it is also the fastest way to make someone feel unwell. Wrap every animation in a prefers-reduced-motion query. For readers who ask for less motion we keep the scene still and use a small colour change on hover instead, which keeps the interface responsive without any movement.

Reading isometric art is a learned skill, and most readers have learned it from games and instruction manuals. That shared vocabulary is what makes the style so friendly. It also means readers notice immediately when something is off, even if they cannot say why, so consistency matters more than detail.

Colour contrast still applies to illustrations that carry meaning. A bar chart drawn as blocks needs enough contrast between the bars and the floor, and labels on the faces need the same contrast as body text. Decorative scenes have more freedom, but we still avoid pale blocks on a pale background.

Palettes for isometric work start from one hue. Pick it, then shift only the lightness for the three faces, and cool the shadow slightly towards blue. Adding a second hue for accents is fine, but keep it to small elements such as windows or buttons, or the scene starts to look like a patchwork.

Three colours carry the whole illusion. The top face is the lightest because it faces the sky, the left face sits in the middle, and the right face is the darkest. Keep those three roles consistent across the page and readers stop seeing flat shapes. Break the rule once, with a dark top on a single block, and the entire scene looks wrong.

Share

10 comments

  1. Hana Sato

    Is there a way to do the shadow without a pseudo-element? Our CMS strips empty spans.

    Reply to Hana Sato
    1. June Park

      Same here. Adding will-change on the wrapper fixed it for me.

      Reply to June Park
  2. Farah Aziz

    Tiny typo in the second code block: the unit is missing on the translate value.

    Reply to Farah Aziz
    1. Eli Novak

      Yes, container queries work well; we will cover them soon.

      Reply to Eli Novak
  3. Gus Lindgren

    I teach an intro CSS class and I am going to use this as the final project.

    Reply to Gus Lindgren
  4. Ivo Petrov

    How would you handle text that needs to wrap on one of the faces?

    Reply to Ivo Petrov
    1. Quinn Adler

      Thanks! A follow-up is already in the drafts.

      Reply to Quinn Adler
  5. Bea Kowalski

    We used the grid background on our docs site and it looks great with a dark theme too.

    Reply to Bea Kowalski
  6. Pia Jensen

    The paper cube exercise sounds fun. Are the templates available somewhere?

    Reply to Pia Jensen
  7. Chen Wei

    Love the palette. Could you share the exact lightness values?

    Reply to Chen Wei

Leave a comment

Your email address won’t be published. Required fields are marked.