Pattern Paste
Subscribe

Core Patterns Gallery

Catalogue accessStandard

Wall labels

Five portrait frames hung in one row at deliberately unequal widths, bottom-aligned so their tops are ragged and their bases sit on one line, each with a small museum wall label beneath it: a tracked uppercase title and a line of medium and year.

Includes replaceable example images.

All patterns

Loading patterns…

Theme
Preview size
Look

Takes your theme’s colours and type.

Twenty Twenty-Five·1280px

Manrope typefacergb(255, 255, 255) ground1280px viewport

The signature moment

Five unequal frames hung to one baseline

The row has no grid in it at all. The five widths are not a division of anything (18, 14, 30, 14, 24), so nothing repeats and no rhythm is implied; a 4:5 crop at each of those widths gives five different frame heights and therefore five different tops. What holds the row together is the single line the five bases sit on, and the five wall labels ruled along beneath it. That is how pictures are actually hung: not to a grid, to a common line.

Theme handoff

What comes from where

Theme and pattern

Inherits: every colour (the wall is a base chain, all type a contrast chain), the typeface, and the spacing scale (spacing|80 above and below, spacing|50 between stacked frames on a phone, spacing|20 between a frame and its label).

Decides: the five widths, the 4:5 crop with scale: "cover", the bottom alignment, the 1240px measure, the clamp gutters, the clamp(1rem, 2vw, 2rem) gap between frames, and the label's proportion (13px, 0.16em tracking and weight 600 on the title, 13px untracked at 1.4 on the medium line).

No accent appears in any rung, no rule or border is drawn, and no type sits on a photograph: every label is below its frame, on the band's own ground.

Full pattern notes

Why it works, and how it is built

Open a topic for the complete design reasoning, editing guidance and implementation notes.

Design rationaleComposition, intent and nearest alternatives

Overview

A museum hang. Five portrait frames in ONE row, cropped to 4:5, at widths that were chosen rather than divided (18%, 14%, 30%, 14%, 24%), all bottom-aligned so their tops are ragged and their bases sit on one line. Under each frame is a small wall label: a 13px uppercase tracked title, and a 13px line of medium and year beneath it. There is no intro row and no heading above the row; the hang IS the section, with spacing|80 of air above and below it.

The signature moment: five unequal frames hung to one baseline

The row has no grid in it at all. The five widths are not a division of anything (18, 14, 30, 14, 24), so nothing repeats and no rhythm is implied; a 4:5 crop at each of those widths gives five different frame heights and therefore five different tops. What holds the row together is the single line the five bases sit on, and the five wall labels ruled along beneath it. That is how pictures are actually hung: not to a grid, to a common line.

It survives colourlessness because it is made of width, alignment and a 13px label. Nothing in it is decoration: take every colour away and the composition is unchanged, because the composition IS the unequal widths and the one baseline.

The mechanic that makes it work. verticalAlignment: "bottom" is set on EVERY core/column, not only on the core/columns block. The columns-level class alone does nothing on the front end, because core's own align-items: normal !important overrides it, and nothing warns you: cover-trio's first draft sat top-aligned. So each column carries is-vertically-aligned-bottom and its own flex-basis, and only then do the bases meet.

The bases that meet are the bottoms of the LABELS, not of the frames, so each label has to hold the same number of lines or the frames stop agreeing. That is why the titles are kept to about 15 characters and the medium/year lines to about 21: at 14% of a 1240px measure a label is roughly 160px wide, and a second line in one column alone would break the device. Keep them short when you rewrite them.

Make it yoursVariations and the edits to make first

Variations

  • Labels above: the hang inverts vertically. Every column is verticalAlignment: "top", so the five frames sit on one line at the top and the ragged edge moves to the bottom, and each wall label moves above its frame. Same five widths, same 4:5 crops, same colours; only the composition flips. It reads as a catalogue plate rather than a gallery wall, and it is the better choice when the section above it ends on a line of its own that the frame tops can meet.
  • Charcoal and saffron (charcoal-and-saffron). States a charcoal wall, saffron exhibit titles and ui-monospace on the wall labels.
Theme behaviourInheritance, fixed decisions and contrast

What it inherits, what it decides

Inherits: every colour (the wall is a base chain, all type a contrast chain), the typeface, and the spacing scale (spacing|80 above and below, spacing|50 between stacked frames on a phone, spacing|20 between a frame and its label).

Decides: the five widths, the 4:5 crop with scale: "cover", the bottom alignment, the 1240px measure, the clamp gutters, the clamp(1rem, 2vw, 2rem) gap between frames, and the label's proportion (13px, 0.16em tracking and weight 600 on the title, 13px untracked at 1.4 on the medium line).

No accent appears in any rung, no rule or border is drawn, and no type sits on a photograph: every label is below its frame, on the band's own ground.

Technical notesBlock mechanics, responsive behaviour and constraints

At 390px

Core stacks core/columns below 782px. The unequal widths collapse to full width, every frame becomes the same size, and the alignment has nothing left to act on because each column is its own flex line. What survives is five frames each with its own wall label, one under the other, which is still a hang: the label is the thing that makes a picture read as hung, and it is per frame.

Be honest about it: the baseline device is a desktop idea. On a phone the unequal widths and the single base line are gone, and the pattern is a stacked run of labelled portraits. That is a good section, but it is not the signature.

What a buyer changes first

The photographs. All five images include example photographs; choose Replace to select an image from your media library, and the 4:5 crop and the width are already set. Then the labels. Keep the title under about 15 characters and the medium/year line under about 21 so that no label wraps to two lines and the baseline holds.

The widths are the third thing, and the rule is to keep them unequal and unpatterned. They are width on each core/column and they should still total 100.

Included images

The copied markup includes WordPress Photo Directory example photographs. The public image URLs keep the examples visible after pasting. Select an image or cover and choose Replace to use your own Media Library files. See image credits for the sources and licenses. Pasting an image URL does not import a Media Library attachment.

Questions

Wall labels: common questions

Does Wall labels need a plugin?

No. It is built only from core WordPress blocks (column, columns, group, image and paragraph), so it pastes into the block editor with nothing to install.

Will Wall labels match my theme?

Choose by variation. Labels below and Labels above take your theme’s palette; Charcoal and saffron brings its own colours.

How many variations does Wall labels have?

3: Labels below, Charcoal and saffron and Labels above. Each is its own markup; choose one in the toolbar above the preview before you copy.

Can I use my own images?

Yes. Sample images stay in the copied blocks. Replace them in WordPress; pasting does not upload them to your Media Library.

Is Wall labels free?

It is included with a subscription, with every Core Pattern and variation. 62 Core Patterns are free to copy without one.

The markup

8.7KB of core-block markup, 5 blocks (column, columns, group, image, paragraph), and nothing else: paste it into the block editor and it becomes editable blocks wearing your theme.

Subscribe to copy it, £49 a yearWhat you copy is yours forever. Not for you? We refund within 14 days.

Back to Core Patterns