Containers Overview
CF2 uses a container hierarchy to organize page content. Understanding this structure is essential for building pages.
Container Hierarchy
ContentNode (root - page background)
└── SectionContainer/V1 (full-width section)
├── RowContainer/V1 (horizontal layout, fixed width)
│ └── ColContainer/V1 (12-grid column)
│ └── Elements OR FlexContainer/V1
└── FlexContainer/V1 (can be direct child of Section)
└── Elements
i
Rules:
- ContentNode can only contain SectionContainer children
- SectionContainer can contain RowContainer or FlexContainer
- RowContainer must contain ColContainer children
- ColContainer contains Elements or FlexContainer
- FlexContainer contains Elements only (no nested containers)
Container Types
Feature Support
All containers support background, border, shadow, and corners:
| Container | Background | Border | Shadow | Corners |
|---|---|---|---|---|
| ContentNode | Yes | No | No | No |
| SectionContainer | Yes | Yes | Yes | Yes |
| RowContainer | Yes | Yes | Yes | Yes |
| ColContainer | Yes | Yes | Yes | Yes |
| FlexContainer | Yes | Yes | Yes | Yes |
Common Style Patterns
Background
JSON
{
"params": {
"--style-background-color": "rgba(255, 255, 255, 1)",
"--style-background-image-url": ""
},
"attrs": {
"data-skip-background-settings": "false"
}
}
Border
JSON
{
"params": {
"--style-border-style": "solid",
"--style-border-width": 1,
"--style-border-width--unit": "px",
"--style-border-color": "#000000"
}
}
Shadow
JSON
{
"params": {
"--style-box-shadow-distance-x": 0,
"--style-box-shadow-distance-y": 4,
"--style-box-shadow-blur": 6,
"--style-box-shadow-spread": 0,
"--style-box-shadow-color": "rgba(0, 0, 0, 0.1)",
"--style-box-shadow-distance-x--unit": "px",
"--style-box-shadow-distance-y--unit": "px",
"--style-box-shadow-blur--unit": "px",
"--style-box-shadow-spread--unit": "px"
},
"attrs": {
"data-skip-shadow-settings": "false"
}
}
Corners
JSON
{
"attrs": {
"style": { "border-radius": 8 },
"data-skip-corners-settings": "false"
},
"params": {
"border-radius--unit": "px"
}
}