Text media · Sticky photo
An index and a photo stay in view while four text blocks scroll past; each block brings its photo in with a fade and marks its entry in the index.
![]()
Full-page views: desktop, phone and dark mode

At 1440px wide.

At 390px wide.

With your site in dark mode.
See it live: Text media · Sticky photo on fancybricks.co — the live preview, and the button that copies it.
Preview on the front end. Scripts don't run inside the builder, so here you only see the layout: the photo does not change and the index stays hidden here (the script runs on the front end). Save and open the page to see the full result.
Structure
This is what the Bricks Structure panel shows after you paste the template. Component instances say which component they are.
Text media · Sticky photo
Container
Intro (FBK Intro)
Sticky content
Index
Index · Label
Index · List
Index item · Planning
Index · Planning
Index item · Stays
Index · Stays
Index item · Walks
Index · Walks
Index item · On the road
Index · On the road
Sticky photos (decorative)
Sticky photo · Planning (decorative) (FBK Image)
Sticky photo · Stays (decorative) (FBK Image)
Sticky photo · Walks (decorative) (FBK Image)
Sticky photo · On the road (decorative) (FBK Image)
Steps
Step · Planning
Step · Photo (phones) (FBK Image)
Step · Intro (FBK Intro)
Step · Button (FBK Button)
Step · Stays
Step · Photo (phones) (FBK Image)
Step · Intro (FBK Intro)
Step · Button (FBK Button)
Step · Walks
Step · Photo (phones) (FBK Image)
Step · Intro (FBK Intro)
Step · Button (FBK Button)
Step · On the road
Step · Photo (phones) (FBK Image)
Step · Intro (FBK Intro)
Step · Button (FBK Button)
Sticky photos and index (JS)
The template also pastes a dashed note above the section, with the short version of this page. It only shows inside the builder, never on the published page — see Builder notes.
How to adjust
Every step is the same move: pick the element in the Structure panel, change its Properties.
How to adjust a template shows every one of them in a screenshot of the real builder: the Structure and Properties panels, the classes on an element, a component's style families and the field where a CSS variable goes.

The classes this element carries, in the Bricks panel.

This template's own component, with its Style group open.
- Paste the template in Bricks first — see Copy and paste.
- Select Intro, Step · Intro ×4 (FBK Intro) › Properties: Eyebrow, Hide eyebrow, Title, Title level, Lead, Hide lead · Style group: Eyebrow style, Highlight, Title size, Accent line · Layout group: Alignment, Layout, Background, Spacing · Motion group: Reveal in slider.
- Select Sticky photo · Planning (decorative), Sticky photo · Stays (decorative), Sticky photo · Walks (decorative) (+2 more) (FBK Image) › Properties: Image, Alt text · Shape group: Proportion, Shape, Decoration, Border · Size and loading group: Loading, Width, Max width, Alignment · Caption group: Caption, Hide caption.
- Select Step · Button ×4 (FBK Button) › Properties: Text, Link, Tone, Shadow on hover · Icon group: Icon, Icon position · Style group: Style, Size, Width, Hover effect.
- Spacing, sizes, color and timing with no property of their own: the CSS variables below.
CSS variables
These are the only values in the template meant to be changed by hand. Copy the block, paste it, edit the numbers.

The Custom CSS field of this template's own element, with one of its variables as a real example.
/* «Sticky content» · class .fbk-mdsticky */
.fbk-mdsticky {
/* Columns: index, photo and texts */
--fbk-t-cols: minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(0, 1.2fr);
/* Index: color of its label, numbers and focus ring */
--fbk-t-accent: var(--fbk-highlight-accent, var(--fbk-accent));
--fbk-t-time: 0.8s;
}
Paste the block in the element's Style → CSS field (the selector is already in it), or set the same variables on the class itself to change every copy at once. The values are your framework's variables, so they follow your site: Choosing a framework.
Requirements
- Code execution. Needs "Execute code" enabled for the role in Bricks → Settings → Custom code, or the JS block shows as plain text instead of running.
What each requirement is, and how to set it up once for the whole site: Requirements.
Finish by hand
- Keep the same number of index entries, sticky photos and text blocks, in the same order.
- The sticky photos are decorative copies; each block carries its own photo (FBK Image) for tablets and phones, where the sticky column is hidden. Change both when you replace a photo.
- Remove the Index block for the two-column version (photo and texts). On tablets and phones the index sits above the blocks in a row, without sticking, and each entry still jumps to its block.
- The script needs "Execute code"; without it the first photo shows and the index is hidden.
- The buttons' color sweep (as in the original) is their Hover effect property: Sweep.
On phones
The template is designed desktop first, the Bricks default, and only changes at the two widths the library uses:
- 991px and below —
.fbk-mdsticky,.fbk-mdsticky__entry,.fbk-mdsticky__index(+1 more),.fbk-intro. - 767px and below —
.fbk-mdsticky,.fbk-mdsticky__step,.fbk-mdsticky__visual,.fbk-section.
Those changes live in Bricks' own breakpoint fields, so you edit them where you always do: pick the breakpoint in the toolbar and the same fields follow.
Careful with the classes shared by the whole library (fbk-section, fbk-intro, the
component classes): a change there shows up in every template that uses them.
If your site's breakpoints are set up mobile first, copy the mobile-first variant of the template instead — see Copy and paste.
Accessibility
In this template, keyboard focus is visible on every interactive piece; movement is cut back
when the visitor's system asks for less motion; the state screen readers need is already set
(aria-hidden, aria-label).
What is checked on every template, and what depends on your own palette: Accessibility.
Dark mode
With your site in dark mode this section turns dark too — the class fbk-section--auto-dark
on the section does it. Remove the class to keep it light.
Its background is a modifier on the section, so you can swap it for any of the ones the
template is checked with: fbk-section--light, fbk-section--soft, fbk-section--dark.
How the library follows your site's color scheme: Dark mode and preview.
Replaces
- 02 – Sticky section from Fancy Bricks 1.0
- 01 – Sticky content from Fancy Bricks 1.0
What happened to the old libraries, and what to do with pages already built with them: Migrating from 1.0/2.0.