Layout Hierarchy
The layout structure follows a nested hierarchy:Each level in the hierarchy can contain multiple instances of the next level. For example, a row can contain multiple column groups, and each column group can contain multiple columns.
Rows
Location:includes/row-settings.php
Rows are the top-level containers in a Beaver Builder layout. They define horizontal sections of your page and control:
Row Settings
- General
- Background
- Spacing
- Advanced
- Width - Fixed (max-width) or Full Width
- Content Width - Fixed or Full Width (for full-width rows)
- Height - Default, Full Height, or Minimum Height
- Vertical Alignment - Top, Center, or Bottom
Row Width Settings
Fixed Width rows respect the global max-width setting, while Full Width rows span the entire browser window.
Row Height Options
includes/row-settings.php:102
Column Groups
Column groups are containers within rows that hold columns. They manage the column structure and handle responsive stacking.Purpose
- Group columns together for layout organization
- Control responsive behavior (stacking)
- Enable nested column structures
Columns
Location:includes/column-settings.php
Columns are the containers that hold modules. They provide the grid structure for content placement.
Column Settings
- General
- Style
- Spacing
- Advanced
- Width - Percentage-based responsive width
- Minimum Height - Set minimum column height
- Equalize Heights - Make all columns same height
- Vertical Alignment - Align content within column
Column Width Control
column-settings.php:12
Row Layouts
Location:classes/class-fl-builder-model.php:18
Beaver Builder provides 9 predefined row layouts:
Visual Layout Guide
- Equal Columns
- Custom
1 Column2 Columns3 Columns4 Columns
Nesting
Rows, columns, and modules can be nested to create complex layouts:Nested Rows Example
Container Modules
Some modules can contain child modules:- Accordion items
- Tab content
- Slideshow slides
- Custom container modules
Responsive Behavior
Rows and columns adapt to different screen sizes automatically.Default Responsive Breakpoints
- Desktop
- Large
- Medium
- Mobile
> 992px
- Columns display at specified widths
- All spacing and sizing applied
- Desktop-specific settings active
Responsive Settings
Most spacing and sizing settings support responsive values:Responsive Field Example
Column Stacking
Columns automatically stack on smaller screens:Reverse Column Order
Change the order columns appear on mobile:column-settings.php:527
Working with Rows and Columns
Programmatically Add a Row
Get Row Settings
Modify Column Width
Best Practices
Use Appropriate Layouts
Use Appropriate Layouts
Choose layouts that match your content:
- 1 Column for full-width content
- 2 Columns for side-by-side content
- 3-4 Columns for features or cards
- Sidebar layouts for content + sidebar
Plan for Mobile
Plan for Mobile
- Test how columns stack on mobile
- Use reverse order when needed
- Adjust spacing for smaller screens
- Hide non-essential content on mobile
Optimize Performance
Optimize Performance
- Minimize nesting depth
- Use appropriate column counts
- Avoid excessive empty columns
- Leverage global settings for consistency
Semantic HTML
Semantic HTML
Use appropriate container elements:
Advanced Features
Equal Height Columns
Force all columns in a group to match the tallest column:column-settings.php:47
Full Height Rows
Make rows fill the browser viewport:Custom Column Widths
Create unique layouts by adjusting column widths:Next Steps
Responsive Design
Learn about responsive breakpoints and settings
Global Settings
Configure default row and column settings
Custom Modules
Create modules that work with the grid
Templates
Use pre-built row templates