Skip to content
From £600 ·Book a video call →

Bricks Builder CSS Grid: Building Complex Layouts

By Tom · Last reviewed · 4 minute read

Set a Bricks container's Display to Grid, define its columns with fr units, then place or span elements across the grid and change the columns at each breakpoint. It gives you layouts that are hard to build with rows and columns, with cleaner code and faster pages.

On this page

Bricks Builder is changing how WordPress websites get built. Unlike traditional page builders that rely on columns and rows, Bricks gives you proper CSS Grid control. This means you can create layouts that would be impossible (or messy) in Elementor.

CSS Grid is the modern way to build web layouts. It's what developers use when coding from scratch, and Bricks lets you set it up visually.

Why CSS Grid Matters

Traditional page builders think in rows and columns. That's fine for basic layouts, but it gets messy fast. Want an element to span multiple columns? Need different layouts on mobile? CSS Grid handles this well.

CSS Grid is built into how Bricks works rather than added on, so you get cleaner code and faster websites.

Setting Up Your First CSS Grid

Here's how to create a CSS Grid container in Bricks:

  1. Add a Container element to your page
  2. In the Style panel, find Layout
  3. Set Display to Grid
  4. Define your Grid Template Columns

For a simple three-column layout, use: 1fr 1fr 1fr

The fr unit means "fraction". So 1fr 1fr 1fr creates three equal columns. Want the middle column wider? Try 1fr 2fr 1fr.

Pro Tip: Use the visual grid overlay in Bricks. It shows your grid lines as you work, making complex layouts much easier to understand.

Creating Complex Layouts

Here's a magazine-style layout with a large featured article and smaller sidebar content:

Grid Template Setup

  1. Set Grid Template Columns to: 2fr 1fr
  2. Set Grid Template Rows to: auto auto auto
  3. Add a Gap of 2rem for spacing

This creates a 2-column, 3-row grid. The left column is twice as wide as the right.

Placing Elements

Add your content elements (headings, text, images) inside the grid container. Then position them:

  1. Select an element
  2. In Layout settings, find Grid Position
  3. Set Grid Column to span multiple columns: 1 / -1 (full width)
  4. Or position precisely: 1 / 2 (first column only)

Pro Tip: Use span 2 to make an element span two grid tracks without counting positions.

Responsive Grid Layouts

This is where CSS Grid is most useful. You can completely change your layout at different screen sizes.

In Bricks, use the responsive controls:

  1. Click the tablet icon for medium screens
  2. Change Grid Template Columns to: 1fr
  3. All columns now stack vertically on tablets

For mobile:

  1. Click the mobile icon
  2. Adjust Gap to 1rem for tighter spacing
  3. Consider different Grid Template Areas for mobile-first content priority

Advanced Grid Techniques

Named Grid Lines

Instead of numbers, you can name your grid lines:

[header-start] 1fr [content-start] 2fr [sidebar-start] 1fr [end]

Then position elements using names:

  • Grid Column Start: header-start
  • Grid Column End: sidebar-start

Subgrids for Nested Layouts

For complex card layouts, create a subgrid:

  1. Add a container inside your main grid
  2. Set its display to Grid
  3. Use Grid Template Columns: subgrid
  4. Child elements align with the parent grid

This is perfect for professional service websites where content cards need precise alignment.

Common Layout Patterns

The Holy Grail Layout

Header, footer, main content, and two sidebars:

Grid Template Areas:

"header header header"
"sidebar-left main sidebar-right"
"footer footer footer"

Grid Template Columns: 200px 1fr 200px Grid Template Rows: auto 1fr auto

Card Grid with Mixed Sizes

Perfect for portfolio or blog layouts:

  1. Set Grid Template Columns to: repeat(auto-fit, minmax(300px, 1fr))
  2. This creates responsive columns that never get smaller than 300px
  3. Use Grid Row spans for featured cards: span 2

Performance Benefits

CSS Grid layouts load faster than complex nested structures. When I build WordPress websites, I see clear performance improvements with Bricks compared to traditional builders.

Your website's page speed directly affects user experience and SEO rankings. Clean CSS Grid markup helps achieve better Core Web Vitals scores.

Troubleshooting Grid Issues

Elements Not Aligning

Check your grid track sizing. Use browser developer tools to inspect the grid:

  1. Right-click your grid container
  2. Select Inspect Element
  3. Look for the grid overlay option in your browser

Mobile Layout Breaking

Common issue: forgetting to adjust grid template columns for smaller screens. Always test your responsive breakpoints.

Content Overflowing

Set Grid Auto Rows to minmax(auto, max-content) to let rows expand as needed.

Comparing to Elementor

If you're switching from Elementor, the mental shift takes time. Elementor uses columns and inner sections. Bricks uses proper CSS Grid.

There's a learning curve, but it's worth it for the cleaner code, better performance and layouts that respond properly to different screen sizes.

Getting Started with Grid

Start simple. Build a basic two-column layout first. Once you understand how grid positioning works, complex layouts become much easier.

You can check how your layout performs with my free website audit tool. Grid-based layouts typically score better on performance metrics.

CSS Grid in Bricks Builder lets you build layouts that traditional page builders can't, and the time spent learning it pays off in faster sites that work on every device.

Want a second opinion?Tell me what you need and I'll give you honest advice, even if it's not me.
Get in touch