Contact sheet: WordPress Block Pattern, Pattern Paste Canonical: https://patternpaste.com/pattern/contact-sheet.html Core Patterns (https://patternpaste.com/patterns/) Gallery (https://patternpaste.com/patterns/gallery/) Free Standard # Contact sheet Six square frames packed three across in two rows, with a tight gutter so the six read as one printed sheet, each frame numbered under a hairline rule. An airy label and one line sit well above it. Includes replaceable example images. ## All patterns Search patterns Loading patterns… The signature moment ## Density contrast, the sheet against the air The six frames sit at spacing|20, the tightest gutter in the catalogue, both between the columns and between the two rows, so the eye reads one grid rather than six cards. That block of six is then surrounded by air: spacing|80 above and below the band, and spacing|70 between the intro and the first row. The contrast between the packed sheet and the empty band is the whole idea, and it is made of gutter, scale and emptiness, so it survives colourlessness entirely: there is nothing to colour except the paper, the type and the hairlines, and inverting all three (see the variation) does not touch it. Theme handoff ## What comes from where ### Theme and pattern Inherits: every colour (the band is a base chain, its type a contrast chain, and every hairline is currentColor, so the rules follow the type into any theme), the typeface, and the spacing scale (spacing|80 band padding, spacing|70 between intro and sheet, spacing|30 inside the intro, spacing|20 for every gutter and for the gap between a frame and its number). Decides: the 1:1 crop on all six frames (aspectRatio: "1" with "scale":"cover", so whatever the buyer uploads is cropped square rather than letterboxed), the three-across grid, the tight gutter, the 1240px measure with clamp(1.25rem, 4vw, 4rem) gutters, the 34rem intro measure, and the type proportion: a 13px tracked caps label against a clamp(1.5rem, 2.8vw, 2.375rem) line, with the frame numbers at the same 13px as the label so the sheet is captioned in the same voice it is introduced in. The hairline is a per-side border-top on the small group that holds each number, not a core/separator. Twenty Twenty-Four narrows any separator that is not is-style-wide to a centred stub, and a stub under a square frame reads as a mistake; a group border is not affected by that rule and stops exactly at the frame's width, which is what a contact sheet's rule does. 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 square frames packed three across in two rows, numbered 01 to 06, each number sitting under a hairline rule on the band's own ground rather than on the photograph. Above the sheet, a tracked caps label and one short line, held to a 34rem measure and set a long way clear of the frames. The whole thing is a photographer's proof sheet: one printed object dropped onto a very quiet page. ### The signature moment: density contrast, the sheet against the air The six frames sit at spacing|20, the tightest gutter in the catalogue, both between the columns and between the two rows, so the eye reads one grid rather than six cards. That block of six is then surrounded by air: spacing|80 above and below the band, and spacing|70 between the intro and the first row. The contrast between the packed sheet and the empty band is the whole idea, and it is made of gutter, scale and emptiness, so it survives colourlessness entirely: there is nothing to colour except the paper, the type and the hairlines, and inverting all three (see the variation) does not touch it. It survives the phone for the same reason. Below 782px core stacks both core/columns blocks, and because the row gap and the column gap are the same spacing|20, the six frames become a single tight column at exactly the gutter they had across, each still carrying its rule and its number. The band's spacing|80 padding does not stack, so the sheet is still a dense object in a quiet band; the only thing that changes is that the object is now tall instead of wide. Make it yoursVariations and the edits to make first ### Variations - Ink sheet (sheet-ink): the band inverts. The ground becomes the contrast chain and all type becomes the base chain; the hairlines are currentColor in both files, so they invert without being restated. Every frame, gutter, measure and size is identical to the base, which is the point: it is the same sheet printed dark, and it is the version to use when the photographs are mostly light or when the section above it is already white. 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, and every hairline is currentColor, so the rules follow the type into any theme), the typeface, and the spacing scale (spacing|80 band padding, spacing|70 between intro and sheet, spacing|30 inside the intro, spacing|20 for every gutter and for the gap between a frame and its number). Decides: the 1:1 crop on all six frames (aspectRatio: "1" with "scale":"cover", so whatever the buyer uploads is cropped square rather than letterboxed), the three-across grid, the tight gutter, the 1240px measure with clamp(1.25rem, 4vw, 4rem) gutters, the 34rem intro measure, and the type proportion: a 13px tracked caps label against a clamp(1.5rem, 2.8vw, 2.375rem) line, with the frame numbers at the same 13px as the label so the sheet is captioned in the same voice it is introduced in. The hairline is a per-side border-top on the small group that holds each number, not a core/separator. Twenty Twenty-Four narrows any separator that is not is-style-wide to a centred stub, and a stub under a square frame reads as a mistake; a group border is not affected by that rule and stops exactly at the frame's width, which is what a contact sheet's rule does. Technical notesBlock mechanics, responsive behaviour and constraints ### What a buyer changes first The photographs. All six image blocks include example photographs. Choose Replace on each frame to select your own images; the square crop is already set. The sheet is deliberately indifferent to what is in the frames, so a set of six related shots reads best; the design does not depend on any one of them being distinct. Then the numbers. They are plain text, so 01-06 can become contact-sheet codes (04A, 04B), dates, or place names, as long as each stays short: they are set at 13px with 0.22em tracking, which is legible for a glanced label and not for a sentence. Anything longer than a couple of words belongs above the sheet, in the intro line, which has the measure for it. To make the sheet nine frames, duplicate one core/columns row; to make it four, delete a column from each row. Nothing in the design is keyed to six. ### 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 (https://patternpaste.com/image-credits/) for the sources and licenses. Pasting an image URL does not import a Media Library attachment. Questions ## Contact sheet: common questions Does Contact sheet need a plugin? No. It is built only from core WordPress blocks (column, columns, group, heading, image and paragraph), so it pastes into the block editor with nothing to install. Will Contact sheet 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 Contact sheet have? 2: Proof sheet and Ink sheet. 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 Contact sheet free? Yes. It is one of 62 free Core Patterns: copy it and it is yours to keep and edit. Back to Core Patterns (https://patternpaste.com/patterns/) ### Free pattern Copy it and paste it straight into the block editor. It is yours to keep and edit. Read the markup #### Pair with Hero Hero aperture An opening section on your theme's own paper: a tracked line, a display headline, one short paragraph on a reading measure, and then a picture that stops short of the edge on every side. The signature is the margin: the image is a window cut in the page rather than a band across it, and the paper around it is what you notice. A small opaque plate in the picture's bottom-right corner carries the caption, so no type ever sits on the photograph. The still-image version includes an example photograph; select your own clip for the video version. States no colour and no font of its own. (https://patternpaste.com/pattern/hero-aperture.html)Editorial Article footer The close of an article: a portrait of the author beside their name, the biography under both inside a currentColor slip held to the middle half of the measure, and the previous and the next post hanging off the two outer edges so the section reads as a doorway rather than a footer. The name, the biography and the two neighbours are dynamic core blocks, so they are the post's own and the preview here is sample data; the portrait is an ordinary image block you swap for your author's own. The previous and next links only resolve on a single post template, which is where this pattern belongs. (https://patternpaste.com/pattern/article-footer.html)Contact Contact cover ledger A full-bleed contact cover: a display heading in the top left, and a ruled ledger of address, hours, phone and email in the far lower-right corner, label left and value right between hairline rules, with the photograph running between them. A heavy veil of your theme's contrast colour keeps every line legible whatever photograph you choose. The ledger drops under the heading on a phone. Includes a replaceable example photograph. States no colour and no font of its own. Ships with a short hand-off row on your theme's paper below it. (https://patternpaste.com/pattern/contact-cover-ledger.html) #### Before you paste Requires a block theme on WordPress 7.0 to 7.1. Classic themes and page builders are outside our supported setup. Adaptive patterns use the block theme’s colour, spacing and typography presets; styled variations declare their own colours or type. How we test patterns (https://patternpaste.com/how-we-test/) Sample images stay in the copied blocks. Replace them in WordPress; pasting does not upload them to your Media Library. Video variations need your own clip. Image credits (https://patternpaste.com/image-credits/). ## Specifications Section Gallery Access Free Plugin None, core blocks only Variations 2 Colour From your theme Type From your theme Motion None Blocks column, columns, group, heading, image, paragraph Presets color 5, spacing 4, font-size 1 WordPress 7.0+ Continue exploring ## Next in Gallery Explore all 30 Gallery patterns (https://patternpaste.com/patterns/gallery/) Shot in Twenty Twenty-Five Gallery No plugin needed ### Case study summary One project told as a case study. Gallery Preview pattern (https://patternpaste.com/pattern/case-study-summary.html) Shot in Twenty Twenty-Five Gallery No plugin needed ### Cover trio Three photograph frames in a row, each a cover with a small caption plate in its bottom-left corner, and the middle frame raised above the other two. Gallery Preview pattern (https://patternpaste.com/pattern/cover-trio.html) Shot in Twenty Twenty-Five Gallery No plugin needed ### 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. Gallery Preview pattern (https://patternpaste.com/pattern/drift-columns.html)