Create magazine-style layouts with floating sidebars
RSL Sidebar layouts use classic float behavior to create magazine-style pages where:
| Class | Purpose |
|---|---|
.sidebar-wrapper | Container for sidebar layout |
.sidebar | Base sidebar element |
.sidebar-left | Float sidebar to left |
.sidebar-right | Float sidebar to right |
.content-block | Content sections that flow around sidebar |
The Sidebar component is fully compatible with RSL's JSON Layout API,
enabling declarative sidebar layouts through JavaScript configuration.
Sidebars automatically initialize after rendering via RSL.JSONLayout.renderLayout().
.rsl-sidebar-auto elements using the JSON API,
the sidebar layouts automatically initialize without manual setup.
// Create left sidebar layout
const sidebarHTML = `
<div class="rsl-sidebar-auto" data-sidebar="left">
<aside data-sidebar-slot="sidebar">
<h3>Navigation</h3>
<ul>
<li>Dashboard</li>
<li>Users</li>
<li>Settings</li>
</ul>
</aside>
<main data-sidebar-slot="main">
<h2>Main Content</h2>
<p>Content goes here...</p>
</main>
</div>
`;
// Render via JSON API - sidebar auto-initializes!
const config = {
version: 1,
layoutId: "sidebar-layout",
breakpoints: { xs: 1 },
items: [{
id: "sidebar-item",
content: { type: "html", value: sidebarHTML }
}]
};
RSL.JSONLayout.renderLayout('#container', config);
// Sidebar is now active - no manual init() needed!
| Method | Description |
|---|---|
RSL.Sidebar.init() |
Scan and initialize all sidebar layouts (auto-called by JSON API) |
RSL.Sidebar.create(container) |
Manually create sidebar layout for specific container |
RSL.Sidebar.instances |
Map of initialized sidebar instances |
Sidebar layouts are accessibility-friendly:
<aside> for sidebar content