Sticky Block for Gutenberg
Sticky Block for Gutenberg

Sticky Block for Gutenberg

0/5 (0 ratings) — active installs Updated Jun 21, 2026
Sticky Block for Gutenberg in the block inserter.

Sticky Block for Gutenberg in the block inserter.

Sticky Block for Gutenberg is a container block that sticks to the top or bottom of the page once the visitor scrolls past it. Drop any blocks inside — a navigation menu, a call-to-action, a contact button, a sidebar widget — and they will follow the reader down the page.

Unlike CSS position: sticky (which only works within its parent scroll container), Sticky Block for Gutenberg uses position: fixed with intelligent scroll detection, so it works reliably in any layout.

Key Features

  • Multiple sticky blocks per page — place as many sticky blocks as you need, each with its own settings.
  • Container block — nest any Gutenberg blocks inside: navigation, buttons, headings, images, widgets.
  • Top or bottom sticky — choose whether the block locks to the top or bottom of the viewport. Cookie bars, chat widgets, and floating CTAs belong at the bottom.
  • Show only after scrolling — hide the block entirely at page load and reveal it only after the visitor scrolls past the trigger point. Pairs naturally with an entry transition for a smooth appear effect.
  • Top offset — set how many pixels of space to leave between the sticky block and the top of the viewport.
  • Admin toolbar aware — automatically shifts down for logged-in users who have the WordPress admin bar visible.
  • Z-index control — fine-tune stacking order so the sticky block always sits above (or below) other elements.
  • Scroll direction mode — choose “Always sticky” or “Only while scrolling up” (the pattern used by modern sticky headers that appear on the way back up).
  • Stop before an element — un-stick the block before it overlaps a footer or another landmark, using a CSS selector (e.g. #footer).
  • Disable on mobile — turn off sticky behaviour below a configurable viewport breakpoint (default 768 px).
  • Disable on desktop — turn off sticky behaviour above a configurable viewport breakpoint. Useful for elements that should only float on smaller screens.
  • Sticky-state background color — set a background color that only appears while the block is stuck, e.g. a solid white behind a transparent nav.
  • Sticky-state text color — change the text color when sticky, so a transparent header with light text can switch to dark text on a white background.
  • Sticky-state shadow — add a drop shadow (Small / Medium / Large) that appears only when the block is in sticky position.
  • Sticky-state padding (all sides) — control top, bottom, left, and right padding independently, applied only while the block is stuck.
  • Sticky-state border — add a Solid or Dashed border with custom width and color that appears only in the sticky state.
  • Full width when sticky — instantly expand the block to span the full viewport width the moment it becomes sticky, ideal for navigation bars.
  • Entry & exit transition — animate the block smoothly in and out of the sticky state with Fade, Slide down, or Fade + Slide, with a configurable duration.
  • Custom class when sticky — add your own CSS classes to the block when it becomes sticky, for advanced theme integration.
  • Block transforms — convert any Group block into a Sticky Block (and back) directly in the editor, without rebuilding.
  • Accessibility — set an aria-label on the sticky wrapper to give screen reader users useful context.
  • Zero dependencies — no jQuery. The frontend script is plain JavaScript, under 4 KB minified.

How to use

  1. In the block editor, search for Sticky Block and insert it anywhere on your page.
  2. Add blocks inside it — a Navigation block, a Button, a Group, anything you like.
  3. Open the block settings panel on the right and adjust offset, z-index, scroll behaviour, and sticky-state styles.
  4. Preview your page and scroll — the block will stick to the top (or bottom) of the viewport.