Design Blocks in Gutenberg – Buttons, Columns, Group, Row, Stack, Spacer & More

Build beautiful, complex layouts without touching a line of code.

Text and media are essential, but design blocks are where Gutenberg truly shines. These blocks let you create buttons, multi‑column layouts, nested groups, flexible stacks, and visual separators – all with a few clicks.

In this guide, I’ll cover every design block:

  • Buttons
  • Columns
  • Group
  • Row
  • Stack
  • Spacer
  • Separator
  • Page Break

By the end, you’ll be able to build professional page layouts entirely within the WordPress editor.

r.”


1. Buttons Block – Calls to Action That Stand Out

What it does: Creates one or more buttons in a row (or stack). Each button has its own link, style, and settings.

When to use: Calls to action – “Buy Now”, “Read More”, “Subscribe”, “Download”, “Contact Us”.

Adding a button:

  1. Add Buttons block
  2. Inside, a single button appears by default
  3. Click “Add Button” to add more (side by side)

Key settings (for the whole Buttons block):

SettingOptionsBest practice
LayoutHorizontal, VerticalHorizontal for desktop, vertical for mobile (responsive automatically)
AlignmentLeft, center, rightCenter for hero CTAs, left for inline
GapSmall, Medium, Large, CustomSpace between buttons. Medium is safe.

Key settings (for each individual button):

SettingOptionsBest practice
TextCustom labelAction‑oriented (“Get Started”, not “Click”)
LinkURL (internal or external)Open external links in new tab
StyleFill, Outline, TextFill = high emphasis, Outline = secondary
SizeSmall, Medium, Large, Extra LargeHero = Large, inline = Small/Medium
Border radiusPixels (0–50px)4–8px looks modern and clickable
WidthAuto, Full, CustomAuto for inline, Full for full‑width buttons
IconOptional (SVG or Dashicon)Adds visual hint (e.g., download arrow)

Pro tips:

  • Use one primary button per section – don’t overwhelm with multiple prominent CTAs.
  • Make text action‑oriented – “Download PDF” > “Click here”.
  • Outline buttons are great for secondary actions (e.g., “Cancel” or “Learn More”).
  • Open external links in a new tab – check the box in link settings.

Shortcut: Type /buttons.


2. Columns Block – Multi‑Column Layouts

What it does: Splits content into 2–6 side‑by‑side columns. Each column is a container that can hold any blocks (text, images, buttons, etc.).

When to use: Pricing tables, feature lists (icon + text), side‑by‑side comparisons, grid of testimonials.

Creating a columns layout:

  1. Add Columns block
  2. Choose number of columns (2–6)
  3. Each column appears as an empty container
  4. Add any blocks inside each column

Key settings:

SettingOptionsBest practice
Number of columns2 to 62–4 for readability, 5–6 for data‑dense
Column widthsDrag handles or exact percentagesEqual width (%) or specify (e.g., 33/66)
Vertical alignmentTop, Middle, BottomUseful when columns have different heights
GapSmall, Medium, Large, CustomMedium for most layouts
Stack on mobileOn/OffOn (default) – columns wrap vertically on phones

Pro tips:

  • Add a background color or border to columns to separate them visually (select individual column, then Colors/Borders).
  • Use Group inside a column if you need multiple blocks in that column.
  • Preview on mobile – always check how columns stack. If they become too narrow, reduce number of columns.

Shortcut: Type /columns.

When to use: Section backgrounds, card designs, hero sections, any time you need to apply styling to a collection of blocks.

Creating a group:

  1. Select multiple adjacent blocks
  2. Click the block toolbar’s “group” icon (or type /group)
  3. Or add empty Group block and drag other blocks inside

Key settings:

SettingOptionsBest practice
BackgroundColor, Gradient, ImageUse sparingly – keep content readable
PaddingNone, Small, Medium, Large, CustomEssential for spacing inside group
MarginNone, Small, Medium, Large, CustomSpace outside the group
BorderWidth, color, radiusSubtle borders for card effects
Text colorOverride for all text insideEnsure contrast with background
LayoutFlow, Flex, GridAdvanced – usually leave as Flow

Pro tips:

  • Use Group instead of adding background to individual blocks – cleaner, faster.
  • Nested groups allow complex designs (e.g., Group inside a Column inside a Columns block).
  • Set a background image on group for section‑wide banners.

Shortcut: Select blocks → click three dots → “Group”. Or /group.


4. Row Block – Horizontal Arrangement (Flex Layout)

What it does: Similar to Columns but with more control. Row lets you arrange blocks horizontally and control alignment, wrap, and direction at a finer level.

When to use: Navigation bars, icon row (social icons), inline meta info (author, date), any horizontal arrangement that’s not a traditional grid.

Key settings:

SettingOptions
DirectionRow (horizontal), Row reverse
AlignmentSpace between, space around, space evenly, start, center, end
WrapOn/Off – wrap to next line on mobile
GapHorizontal and vertical spacing
Item widthAuto or fixed

Row vs Columns:

  • Columns = grid layout with equal or predefined column widths. Best for text-heavy.
  • Row = flex‑based, items shrink/grow naturally. Best for icons, badges, tags.

Shortcut: Type /row.


5. Stack Block – Vertical Arrangement with Features

What it does: Arranges blocks vertically with spacing controls. Similar to Group but specialized for vertical rhythm.

When to use: Sections that need consistent spacing between elements (headline → paragraph → button stacks).

Key settings:

SettingOptions
SpacingCustom gap between child blocks
AlignmentLeft, center, right
Background, padding, borderLike Group block

Stack is essentially a Group block with vertical spacing preset. Use it when you don’t need the extra flexibility of Group.

Shortcut: Type /stack.


6. Spacer Block – Add Empty Space

What it does: Inserts a custom amount of blank space between blocks.

When to use: When you need more space than theme defaults provide – before a heading, after a section, separating elements.

Key settings:

SettingOptions
HeightPixels (e.g., 20px, 50px, 100px)
ResponsiveCan set different heights for desktop/tablet/mobile

Pro tips:

  • Avoid overusing Spacer – excessive empty space hurts usability. Trust the theme’s margin defaults.
  • Use Group margin/padding instead where possible – more semantic.
  • Set height small (20–40px) for subtle separation.

Shortcut: Type /spacer.


7. Separator Block – Horizontal Line

What it does: Draws a horizontal line (HR) to visually separate content.

When to use: Between sections, before a conclusion, to break up long articles.

Key settings:

SettingOptions
StyleLine (default), Dots (text dividers), Wide line
ColorChoose from palette
WidthDefault, Full, Custom (percentage)
HeightThickness in pixels

Pro tips:

  • Use dots style for light visual separation (e.g., between tips).
  • Keep consistent – don’t mix multiple separator styles on same site.
  • Wide line with accent color makes a strong break.

Shortcut: Type /separator.


8. Page Break Block – Split Content Across Pages

What it does: Inserts a pagination break inside a post or page. Splits long content into multiple pages.

When to use: Extremely long articles (10,000+ words) to reduce scrolling, or multi‑page guides.

How it works:

  1. Add Page Break block where you want first page to end.
  2. On frontend, visitors see “Page 1 of 3” with next/previous navigation.
  3. Each page loads separately (new URL with /2//3/).

Key settings:

None – just insert and the break happens.

Pro tip:

Use rarely – pagination breaks can hurt user experience for mobile readers. Consider a Table of Contents block instead.

Shortcut: Type /page-break.


Comparison Table: Which Design Block Should You Use?

BlockBest forWhen to use
ButtonsCall to actionOne or multiple action links
ColumnsGrid layouts, side‑by‑side textFeature lists, pricing tables
GroupStyled section containerAdding background/padding to a group of blocks
RowHorizontal arrangement, iconsIcon rows, tag lists, meta info
StackVertical rhythmConsistent spacing between vertical items
SpacerManual empty spaceWhen theme margins aren’t enough
SeparatorVisual divisionBetween long sections
Page BreakPaginationExtremely long articles (rare)

Common Mistakes to Avoid

  1. Too many columns on mobile – 4+ columns become unreadable. Use 2–3 columns max or let them stack.
  2. No background contrast in Groups – if you add a background color, ensure text contrasts (check with WebAIM contrast checker).
  3. Overusing Spacers – leads to inconsistent vertical rhythm. Let margins do the work.
  4. Missing button link – always test buttons before publishing.
  5. Ignoring responsive preview – always check columns, groups, and stacks on mobile view.

Pro Layout Workflow with Design Blocks

Here’s how I build a typical page using these blocks:

  1. Add a Group – set background color, padding, and margin for the whole section.
  2. Inside Group, add Columns block (2 columns).
  3. Left column – add Heading + Paragraph text.
  4. Right column – add Image block.
  5. Below Columns, add Buttons block – one primary CTA.
  6. Between sections, add Separator (dots style) or Spacer.
  7. Repeat for multiple sections.

No code, no page builder – pure Gutenberg.


What’s Next?

You now control layout and design. Next, we’ll cover Widget Blocks – Shortcode, Archives, Calendar, Categories, Latest Posts, Latest Comments, Search, Social Icons, Tag Cloud, RSS.

👉 Next article in this series: Gutenberg Widget Blocks – Shortcode, Archives, Latest Posts, Search, Social Icons & More


Which design block surprised you most? Any questions about columns vs row vs stack? Ask below.


📌 Key Takeaways (for skimmers)

  • 8 design blocks – Buttons, Columns, Group, Row, Stack, Spacer, Separator, Page Break.
  • Buttons = call to action. Use fill + outline style, action text.
  • Columns = multi‑column layouts. Always preview mobile stacking.
  • Group = container for several blocks (background, padding, border).
  • Row = horizontal flex layout (icons, social links).
  • Stack = vertical spacing container.
  • Spacer = manual empty space (use sparingly).
  • Separator = horizontal line (dots style for subtle breaks).

🔗 Internal Links