# Logo bar

> A social-proof band of five partner logos on one line, held as a tight cluster inside two hairlines that run the full measure, with the label pair spread across the top. Each mark is an image fitted inside an equal column rather than cropped to fill one, and the columns are a core/columns row, so the line can never break however wide a mark draws. The band states no colour and no font of its own; the marks are artwork and carry theirs.

Canonical: https://patternpaste.com/pattern/logo-bar.html
Section: Logos
Access: Included in Pattern Paste access.
Needs: 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.
Blocks: column, columns, group, image, paragraph, separator
Keywords: logos, clients, partners, social proof, logo bar, partner logos

## Variations (4)

### Strip (the default)

Identical markup in every theme.

One line of five marks inset inside two full-measure hairlines, the label pair spread across the top. Your base, your contrast and your typeface for the labels.

### Chalk and graphite

This variation states its own colours: identical in every theme.

States its own colours instead of inheriting yours: a chalk ground with graphite labels and a slate meta line, identical in every theme and matching none. Take this one if you want this exact band; take either of the others if you want your site's.

### Night band

Identical markup in every theme.

The same strip inverted: the ground is your contrast and the labels are your base. Each mark sits on its own lit plate, because logo artwork is dark and a dark mark on a dark band is invisible, so the row reads as five cards on a night field.

### Roster plaque

Identical markup in every theme.

The strip becomes a centred plaque: six marks in a three-by-two grid on a narrower measure, the label above the frame and the date below it. Denser, and it holds more names without shrinking them.


---

## The signature moment: a ruled line of marks that cannot break

**The row is closed at both ends and is guaranteed to stay one line.** The five
marks sit in five equal `core/column`s, held to 880 inside two `is-style-wide`
hairlines that run the full 1240 measure, with the label pair pushed to the two
ends of the space above. The marks are therefore a tight cluster inside a wide
frame rather than five things spread along a rule. Above 782px core
gives every column `flex-basis: 0` and `min-width: 0`, so the five share the
measure evenly whatever each mark's artwork happens to be and however wide the
band is drawn; below 782px core stacks them to one per line, which is a
deliberate centred column rather than a ragged last row. There is no width at
which two marks end up pinned to opposite edges with a hole between them, and no
width at which the frame is left hanging open around three and a half marks.

That guarantee is what the two hairlines are for. A logo bar is read as one
object or it is read as clutter, and the rule above and the rule below are what
say where the object starts and stops. Everything else in the band is held
back so that the line of marks is the only thing with any weight in it: the
labels are 15px, the marks are 5rem tall, and there is nothing else.

## The marks are images, and they are dark

Each mark is a `core/image` with `scale: contain` at a fixed 5rem height, so it
is **fitted inside its share of the row rather than cropped to fill it**: marks
of different proportions sit at the same optical height and none of them is
sliced. The images travel with the blocks as URLs with no attachment id, so
nothing in your media library is referenced and no foreign id is copied.

**What you need to know before you move this band onto a dark ground:** logo
artwork is dark. These marks are SVGs drawn in `currentColor`, and an SVG
loaded through `<img>` is a separate document that never sees the page's colour,
so it paints pure black no matter what the surrounding text is doing. Measured
here in Chromium: the mark's opaque pixels come back `rgb(0,0,0)` on a page
whose `color` is white. That is a silent failure of exactly the kind this
catalogue exists to prevent, and it is why `night-band` does not simply invert:
every mark there sits on its own `base` plate, and the plate is load-bearing,
not decoration. The same applies to any logo you substitute. If your own marks
are white artwork, you want them on the dark band and off the plates, and that
is a swap you make deliberately rather than a thing that happens to work.

## What it inherits from your theme

- **Typeface.** The pattern states no font family anywhere. Only the labels are
  type, and they take whatever your theme sets.
- **Palette.** The ground is your `base` and every piece of text is your
  `contrast`, each a fallback chain ending on a colour WordPress itself
  guarantees, so the band paints in a theme with a full palette and still paints
  in a theme with none. No accent anywhere: an accent's brightness varies by
  theme, and there is nothing in this band that can afford to be the wrong
  weight.
- **Spacing scale.** The band's padding, the gutter between marks and the space
  around the hairlines all use the core spacing presets, so they move with your
  theme's rhythm.
- **The hairlines.** Two `core/separator` blocks, `is-style-wide`, in your
  theme's own separator styling, so they follow your text colour rather than
  stating one.

## What it decides for itself

- **The height of a mark.** 5rem in the strip, 5.5rem on the plaque. Fixed
  height plus `contain` is what makes a set of unrelated logos read as one row;
  the alternative, sizing each by width, gives you a wide mark that dwarfs a
  square one.
- **The row is narrower than its frame.** The two hairlines run the full 1240
  measure and the marks sit inside a nested constrained group at 880 (620 on
  the plaque), so the gap between two marks is always smaller than the gap
  between the outer marks and the ends of the rules. Without that the five read
  as specks scattered along a long line rather than as one set: five equal
  columns across the whole measure gives each mark a quarter of a metre of air
  at 1920. A nested constrained group is the way to hold a measure inside a
  wider band; `padding-right` on the block is not, because the padding sits
  outside the layout's max-width and the block ends up the right width in the
  wrong place.
- **The distribution.** Five equal columns inside that group, each mark centred
  in its own share. Equal columns plus equal fitted height is what makes the row
  read as evenly spaced; centring is also what keeps the stacked phone layout
  tidy, where marks aligned left and right would zigzag.
- **The frame.** Two hairlines enclosing the row, which is what makes it read as
  a strip rather than as a set of pictures floating in a section.
- **Restraint.** The marks are drawn large enough to be recognised and no
  larger. A logo bar that shouts competes with the section above it, which it
  should not do.

## What you change first

1. **The marks.** Replace all five images and write each `alt` to name the
   partner. Keep them all at one height rather than sizing them individually:
   the even row is the design, and per-mark tuning is what makes a logo bar look
   assembled by hand.
2. **The count.** Five is what the 880px row holds comfortably at this size.
   Four is airier and also correct. Six fits if you drop the height a step or
   widen the row, and the `roster-plaque` variation is the answer when you have
   more names than a line will take. Add or delete a whole `core/column`;
   nothing else needs changing.
3. **The width of the row.** 880px inside a 1240px frame. Widen it towards 1240
   for a looser bar, narrow it for a tighter cluster; this one number is what
   sets how much the five marks read as a group.
4. **The label pair.** "Trusted by" and "Since 2014" sit at either end of the
   space above, at the full measure rather than the row's. Delete the right-hand
   one for a quieter band, or both if the section above already says what this
   is.
5. **The frame.** Delete the lower separator if this band sits directly above a
   section that already opens with a rule.

## Contrast

Every piece of text in the band is your `contrast` on your `base`, which is the
one pair every stock block theme guarantees and the highest-contrast pair it
has. The labels are small text and are held to the 4.5:1 body threshold.

The marks are artwork rather than text, so no contrast threshold applies to them
and none is claimed. What is claimed is the thing above: they are dark, they
need a light ground, and every payload here gives them one, the inverted
variation included.
