Skip to content
CSS Transforms

Browser support table for preserve-3d

Where each engine flattens, clips or behaves.

Icons are the hardest isometric art to get right because there is so little room. At small sizes one of the three faces usually has to go, so we pick the two that best describe the object. A book keeps its cover and spine; a box keeps its top and front. Deciding early saves a lot of redrawing.

At a glance

Layer budget
Page type Transformed elements Notes
Article Up to 12 Hero and inline figures
Landing page Up to 40 Flatten static scenery
Dashboard Up to 8 Charts only

Testing on real devices

Shadows on the floor sell the idea that a block has weight. A blurred ellipse, skewed to match the grid and placed slightly offset from the light, is usually enough. Real shadows would change with the height of the block, and adding that detail makes towers and stairs look much more convincing.

Download

cubefold-cube-starter.zipHTML and CSS for a shaded cube, with a hover state. 571 B
Download cubefold-cube-starter.zip

Questions

Is isometric art accessible?

Decorative art is fine when hidden from assistive technology. Informative art needs a text alternative.

How many cubes are too many?

Once the Layers panel shows more than about forty layers, flatten the static parts into SVG.

Why does my cube look flat?

Something on an ancestor, such as overflow: hidden or a filter, is flattening the 3D context.

Which angle should I use?

Use true isometric for CSS and the 2:1 ratio for pixel art. Readers will not notice the difference.

Share

Written by

Sam Whitfield

Sam makes tile-based games in the evenings and brings the sorting tricks back to the blog. Currently building a very small harbour.

All 17 posts by Sam Whitfield

11 comments

  1. Farah Aziz

    Bookmarked. The table alone is worth it.

    Reply to Farah Aziz
    1. Rosa Medina

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

      Reply to Rosa Medina
  2. Soren Dahl

    Our designer drew the scene in Figma and I rebuilt it with your approach in an afternoon.

    Reply to Soren Dahl
    1. Nina Ahlberg

      Agreed, this is the part most tutorials skip.

      Reply to Nina Ahlberg
      1. Ivo Petrov

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

        Reply to Ivo Petrov
  3. Omar Haddad

    Great write-up. Would love a follow-up on doing the same thing with SVG.

    Reply to Omar Haddad
  4. Bea Kowalski

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

    Reply to Bea Kowalski
  5. Lena Vogel

    Thanks for covering reduced motion. It is so often an afterthought.

    Reply to Lena Vogel
  6. Dana Ortiz

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

    Reply to Dana Ortiz
  7. Pia Jensen

    This finally made the order of rotations click for me. I had them the wrong way round for weeks.

    Reply to Pia Jensen
  8. Gus Lindgren

    The part about layer counts was eye-opening. Our landing page had over a hundred.

    Reply to Gus Lindgren

Leave a comment

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