Pattern Paste
Subscribe

Core Patterns Gallery

Catalogue accessStandard

Drift columns

Six portrait frames in three columns of two, each column started lower than the one before it, so the frames read as a descending diagonal.

A tracked label sits above the first column and one short line of type sits in the space the offset opens at the top of the third. Includes replaceable example photographs cropped to 4:5.

All patterns

Loading patterns…

Theme
Preview size
Look
Twenty Twenty-Five·1280px

Manrope typefacergb(255, 255, 255) ground1280px viewport

The signature moment

The baseline drifts across the columns

There is no decoration in this pattern at all. The design is the staircase of unequal starting heights and nothing else. Column one begins at the top of the band, column two is pushed down 4rem, and column three is pushed down about the same again, so the tops of the six frames trace a descending diagonal from the top-left corner to the middle of the right-hand edge.

Theme handoff

What comes from where

Theme and pattern

Inherits: every colour (the band is a base chain, all type a contrast chain, and there is no third colour anywhere), the typeface, and the spacing scale (spacing|70 above and below the band, spacing|50 between the label and the row, spacing|40 between the two frames in a column and between the columns once they stack).

Decides: the 4:5 portrait proportion of all six frames and the cover scale that crops the buyer's uploads to it, the constant offset step and its rem values, the 1240px measure with clamp(1.25rem, 4vw, 4rem) gutters, the clamp(1rem, 2vw, 2rem) gap between the columns, and the proportion of the two pieces of type: a 13px to 14px label at 0.22em tracking in caps, and a 15px to 17px line at 1.5.

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

Six portrait frames in three core/columns of two, on a full-bleed band of your base colour. Each column starts lower than the one before it, so the six frames step down across the section instead of sitting on one shelf. A tracked caps label sits top-left above the first column, and one short line of type sits in the space the last step opens at the top of the third. Nothing else is on the band: no rule, no plate, no caption under a frame.

The signature moment: the baseline drifts across the columns

There is no decoration in this pattern at all. The design is the staircase of unequal starting heights and nothing else. Column one begins at the top of the band, column two is pushed down 4rem, and column three is pushed down about the same again, so the tops of the six frames trace a descending diagonal from the top-left corner to the middle of the right-hand edge.

Two things stop that reading as a mistake. The step is constant, so the eye gets a rule rather than three arbitrary positions; a single odd column reads as a broken layout, three evenly spaced ones read as a decision. And the type occupies the void the last step creates: the short line sits in the empty space at the top of the third column rather than leaving it blank, so the offset is doing work instead of merely existing.

It survives colourlessness because it is made of offset alone. Take every colour away and the diagonal is still there, since it is built from padding-top on the columns and from nothing that a palette can carry. That is the point: a pattern whose signature is a coloured wash has no signature in a theme that resolves that wash to something else.

What happens below 782px. Core stacks core/columns into a single vertical run, and the three columns become three full-width groups one under another. The diagonal cannot survive that, and it is not asked to: the padding-top on each column stays where it is and becomes vertical space above that column's pair of frames, on top of the spacing|40 block gap between the columns. So on a phone the section reads as three pairs of frames separated by a growing rhythm of gaps, first pair tight, second pair set apart, third pair set apart with the line of type in the space. The drift changes axis rather than disappearing, and no frame moves sideways, because no negative margin is used anywhere.

Make it yoursVariations and the edits to make first

Variations

  • Rising drift (drift-rise): the staircase climbs instead of falling. The first column carries the largest offset and the third carries none, so the six frames step UP from the bottom-left to the top-right. The label moves with it, to the top-right above the column that now starts at the top, and the line of type moves into the void the reversal opens at the top of the first column. Same six frames, same 4:5 proportion, same colours, same values: only the composition mirrors, which is a change of one axis and not a dial. It reads differently because a falling diagonal settles and a rising one lifts, and a portfolio that ends high is a different sentence from one that ends low.
Theme behaviourInheritance, fixed decisions and contrast

What it inherits, what it decides

Inherits: every colour (the band is a base chain, all type a contrast chain, and there is no third colour anywhere), the typeface, and the spacing scale (spacing|70 above and below the band, spacing|50 between the label and the row, spacing|40 between the two frames in a column and between the columns once they stack).

Decides: the 4:5 portrait proportion of all six frames and the cover scale that crops the buyer's uploads to it, the constant offset step and its rem values, the 1240px measure with clamp(1.25rem, 4vw, 4rem) gutters, the clamp(1rem, 2vw, 2rem) gap between the columns, and the proportion of the two pieces of type: a 13px to 14px label at 0.22em tracking in caps, and a 15px to 17px line at 1.5.

Technical notesBlock mechanics, responsive behaviour and constraints

How the offsets are built

The offset is style.spacing.padding.top on the core/column itself, in rem. A column is not a direct child of a constrained band, so padding on it is safe: nothing centres a column inside the columns row, so the padding stays inside the column's own box instead of pushing the block out of the layout's max-width (the failure content-columns shipped, recorded in the authoring skill). Negative margins are not used, so there is no margin collapse to reason about.

The third column's offset is split in two, and deliberately: 2.5rem of padding, then the line of type, then a 2.25rem bottom margin under it. With the line's own two lines of body copy that lands the third column's first frame at roughly 8rem, the same step again, while putting the type inside the void rather than above it. Every value is rem, never vh: the preview on this page sizes its frame to the pattern, and a viewport-relative height would size the pattern to the frame in turn.

What a buyer changes first

The photographs. All six image blocks include example photographs; choose Replace to select an image from your media library, and the 4:5 crop and the whole composition are already set. The frames read best as a sequence, so use six pictures that belong together; the drift is what makes them one thing rather than a grid of six unrelated ones.

The two pieces of type are the second thing. The label is set in caps with wide tracking and reads best under 30 characters. The line wants to run to about two lines in the column, roughly 80 to 100 characters, because it is holding open the space the last step created; one short clause leaves that space looking abandoned.

To change the depth of the drift, change the padding-top on the second and third columns together, keeping the two steps equal. Making them unequal is the one edit that breaks the signature.

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

Drift columns: common questions

Does Drift columns 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 Drift columns match my theme?

Yes. It names no colour or font of its own: every colour, size and space is a preset from your theme, so it takes your theme’s palette and type when pasted.

How many variations does Drift columns have?

2: Falling drift and Rising drift. 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 Drift columns free?

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

The markup

5.4KB 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