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:
- Add a Container element to your page
- In the Style panel, find Layout
- Set Display to Grid
- 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
- Set Grid Template Columns to:
2fr 1fr - Set Grid Template Rows to:
auto auto auto - Add a Gap of
2remfor 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:
- Select an element
- In Layout settings, find Grid Position
- Set Grid Column to span multiple columns:
1 / -1(full width) - 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:
- Click the tablet icon for medium screens
- Change Grid Template Columns to:
1fr - All columns now stack vertically on tablets
For mobile:
- Click the mobile icon
- Adjust Gap to
1remfor tighter spacing - 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:
- Add a container inside your main grid
- Set its display to Grid
- Use Grid Template Columns:
subgrid - 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:
- Set Grid Template Columns to:
repeat(auto-fit, minmax(300px, 1fr)) - This creates responsive columns that never get smaller than 300px
- 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:
- Right-click your grid container
- Select Inspect Element
- 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.
