Pattern Paste
Subscribe

Core Patterns Gallery

Catalogue accessStandard

Index strip

A carousel standing still: one wide 3:2 lead frame at the full measure, a tracked label and a position counter under it, and a strip of five square thumbnails at equal width, the first one marked as current by a hairline rule beneath it.

Nothing moves and nothing is hidden, so the whole set is readable at once. Includes replaceable example images.

All patterns

Loading patterns…

Theme
Preview size
Look
Twenty Twenty-Five·1280px

Manrope typefacergb(255, 255, 255) ground1280px viewport

The signature moment

A carousel at rest

The section borrows every part of a slider except the sliding. A lead frame, a strip of thumbnails, a position counter and a marked current frame are the four things a visitor has been trained to read as "there is more, wait for it", and here all of them are true at once and none of them is a promise. The whole set is already on the page, so the visitor reads it instead of waiting for it.

Theme handoff

What comes from where

Theme and pattern

Inherits: every colour (the band is a base chain, its type a contrast chain, the marker is currentColor), the typeface, and the spacing scale (spacing|70 above and below the band, spacing|50 between the lead and the index, spacing|30 between the counter row and the strip, spacing|20 between each thumbnail and its rule).

Decides: the 1240px measure and the clamp gutters, the 3:2 lead against 1:1 thumbnails, five thumbnails rather than four or six (four reads as a grid, six crowds the rail at 390px), the tight clamp(0.5rem, 1vw, 0.875rem) strip gutter that keeps the row reading as one object, the 13px to 14px tracked caps at 0.22em for both the label and the counter, and the 2px currentColor rule that marks the current frame.

The marker is a per-side group border, never a core/separator. Twenty Twenty-Four narrows any separator that is not is-style-wide to a centred stub, which would put a 100px dash under the middle of the first thumbnail instead of a rule across it. Each of the five thumbnails is wrapped in its own group with the same padding-bottom, and only the first group carries the border, so moving the marker is a matter of moving three lines of JSON rather than re-spacing the strip. The marked column is 2px taller than its neighbours and that difference falls at the bottom edge of the row, where nothing is aligned to it.

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

One wide 3:2 lead frame at the full 1240px measure, and under it the furniture of a slider: a tracked caps label on the left, a position counter reading 01 / 05 on the right, and a single row of five square thumbnails at equal width with a tight gutter. The first thumbnail carries a currentColor rule beneath it, so it reads as the frame currently on show. Nothing moves.

The signature moment: a carousel at rest

The section borrows every part of a slider except the sliding. A lead frame, a strip of thumbnails, a position counter and a marked current frame are the four things a visitor has been trained to read as "there is more, wait for it", and here all of them are true at once and none of them is a promise. The whole set is already on the page, so the visitor reads it instead of waiting for it.

This pattern has no motion and needs no plugin. There is no script, no <style>, no core/html and no patternpaste/ block in it; it is core blocks and nothing else, and it looks the same with JavaScript switched off. That is the point rather than a limitation: a real carousel hides four photographs out of five and asks the visitor to earn them, and the counter on a real carousel is a promise it keeps only if the visitor keeps clicking.

The counter is honest because every frame is already on the page. 01 / 05 is not a state a script maintains; it is a caption describing a composition that cannot change. There are five photographs in the set, all five are visible in the strip, and the lead is frame one shown at size. That is why the pattern uses six image blocks for five pictures: the buyer puts the same photograph in the lead and in the first square, and the marked thumbnail and the lead are then the same frame. Move the rule to the third square and change the counter to 03 / 05 and the section is still true.

It survives colourlessness because the marker is a currentColor hairline and the counter is type. currentColor cannot blank, needs no chain and no slug a theme might not define, and it follows whatever colour the theme paints text on the band: an ink line on paper in a light theme, a pale line on ink in a dark one, and in both exactly as dark as the counter beside it. Nothing in the signature is carried by a hue, so a theme with twelve palette slugs and a theme with two make the same argument. Nothing a visitor reads sits on a photograph: the label and the counter are on the band's own ground, above the strip.

Make it yoursVariations and the edits to make first

Variations

  • Strip above: the index group, counter row and strip together, moves above the lead frame, so the visitor meets the contact strip before the picture. Every other byte is identical: the same six frames, the same proportions, the same chains. It is a composition change and nothing else, which is why it reads as deliberate in a serif theme and a sans one.
Theme behaviourInheritance, fixed decisions and contrast

What it inherits, what it decides

Inherits: every colour (the band is a base chain, its type a contrast chain, the marker is currentColor), the typeface, and the spacing scale (spacing|70 above and below the band, spacing|50 between the lead and the index, spacing|30 between the counter row and the strip, spacing|20 between each thumbnail and its rule).

Decides: the 1240px measure and the clamp gutters, the 3:2 lead against 1:1 thumbnails, five thumbnails rather than four or six (four reads as a grid, six crowds the rail at 390px), the tight clamp(0.5rem, 1vw, 0.875rem) strip gutter that keeps the row reading as one object, the 13px to 14px tracked caps at 0.22em for both the label and the counter, and the 2px currentColor rule that marks the current frame.

The marker is a per-side group border, never a core/separator. Twenty Twenty-Four narrows any separator that is not is-style-wide to a centred stub, which would put a 100px dash under the middle of the first thumbnail instead of a rule across it. Each of the five thumbnails is wrapped in its own group with the same padding-bottom, and only the first group carries the border, so moving the marker is a matter of moving three lines of JSON rather than re-spacing the strip. The marked column is 2px taller than its neighbours and that difference falls at the bottom edge of the row, where nothing is aligned to it.

Technical notesBlock mechanics, responsive behaviour and constraints

What happens at 390px

The strip is the thing at risk. Core stacks every core/columns below 782px, and a stacked strip would turn five 60px thumbnails into five full-width square frames, one under another, which is not a smaller version of this section but a different and much worse one: a six-frame column in which the lead is no longer the lead and the marker rule reads as a divider.

So the strip states isStackedOnMobile: false, which serialises to the is-not-stacked-on-mobile class core's own .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100%!important} is testing. That 0-3-0 important rule cannot be beaten by anything a pattern can emit inline, and the attribute is the only thing that turns it off. At 390px, with the band's clamp(1.25rem, 4vw, 4rem) gutters at their 20px floor and the strip's own gutter at its 0.5rem floor, the five thumbnails land at about 64px square: a real thumbnail rail, small but still five things in a row, still square, still marked.

The counter still makes sense, and it makes MORE sense, because at 390px the strip is the only way to see the other four frames at all and the counter is the label on it. The label and the counter sit in a wrapping flex row; if the two do not fit on one line the counter drops below the label and stays legible, because both are incidental tracked caps rather than measured copy. The lead keeps its 3:2 crop at whatever width it is given.

What a buyer changes first

The photographs. All six image blocks include example photographs; choose Replace to select an image from your media library. Use the same photograph twice, in the lead and in the first square, and the counter tells the truth.

Then the two lines of type. Both are set in caps with 0.22em tracking and read best under about 24 characters; the label names the set and the counter names the position. If you use a different number of frames, change the counter to match and add or remove core/column blocks in the strip: no column states a width, so the row re-divides itself evenly at whatever count you leave it.

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

Index strip: common questions

Does Index strip 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 Index strip 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 Index strip have?

2: Lead first and Strip 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 Index strip free?

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

The markup

6.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