Sticky navbars in Webflow don’t automatically offset section links, causing anchor-linked content to appear hidden beneath the sticky navbar. Here’s how to fix the scroll offset manually.
1. Use Spacer Divs with Negative Margin
- Add a spacer div right before each target section that links scroll to.
- Set the spacer height to match the height of your sticky navbar.
- Apply a negative top margin equal to the height of the spacer to cancel out added space.
- Example: If your navbar is 80px high, the spacer should be height: 80px and margin-top: -80px.
2. Add Padding to Sections (Alternative Approach)
- Instead of spacer divs, you can apply top padding to each section equal to the navbar’s height.
- Then apply an equivalent negative top margin to bring the section visually back in line.
- This method keeps your structure cleaner without extra elements.
3. Use Custom Code for Dynamic Offset Adjustment
If your navbar height changes (e.g., responsive sizes), use custom JS to adjust anchor scroll behavior:
- Create a script that adds offset when clicking anchor links.
- Example: Use
scrollIntoView({ behavior: 'smooth', block: 'start' }) with a manual offset using scrollTo.
Important: Avoid raw code per guidelines but use custom scripts via Page Settings > Custom Code or Embed if needed.
4. Ensure Navbar Is Not Inside the Section
- Make sure the sticky navbar is outside and above the sections it's linking to.
- If the navbar is inside the same section, offsets won't function properly.
Summary
To fix anchor scroll offset with a sticky navbar in Webflow, apply a spacer div with negative margin or use padding and negative margin directly on target sections. For dynamic setups, add custom JavaScript scroll offset behavior.