The Divi theme by Elegant Themes is a widely popular and powerful WordPress tool for building visually stunning websites. Its robust Visual Builder and responsive features make it an attractive choice for both beginners and advanced users. However, users often encounter an annoying phenomenon commonly referred to as the “bounce” effect, especially in relation to sticky or fixed headers. This effect can disrupt user experience and make a website feel less polished.
TL;DR: The Divi “bounce” effect is a jittering or skipping animation that occurs when scrolling, primarily due to how the header or section interacts with certain animations or fixed positioning. It is usually caused by CSS conflicts or page layout shifts. Disabling certain settings, optimizing CSS, or writing custom code will solve the issue. Fortunately, with a few tweaks, you can eliminate the bounce effect and create a smoother experience for your visitors.
What Is the Divi Header “Bounce” Effect?
The “bounce” effect describes a problematic flickering, snapping, or jerky movement of Divi’s global header — particularly when it is set to be sticky or to shrink on scroll. It typically occurs when users scroll quickly up and down the page, and the header doesn’t behave smoothly. This can create an unwanted shift in the layout, as if the header is fighting between two positions.
The bounce is not only visually jarring but may also affect your website’s perceived quality and user trust. It’s especially prevalent:
- When using the sticky header feature with shrinking logo or menu.
- With global headers built using Divi Theme Builder.
- On mobile or when responsive settings are not properly configured.
Why Does the Bounce Happen?
The bounce effect generally originates from one or more of the following issues:
- CSS conflicts between Divi’s internal header shrink transitions and other custom code or sections.
- Improper height or spacing settings, which cause layout shifts as elements realign during scroll.
- JavaScript re-rendering, especially when inline changes or animations trigger repaints.
Simply put, the Divi header is trying to do too much too quickly — shrinking, pinning, animating — often with overlapping effects. The solution lies in streamlining how the header appears and interacts with scrolling.
How to Remove the Divi Header Bounce Effect
There are several ways to fix or reduce the Divi header bounce effect. Depending on how your header is built (Theme Builder, Default Header, Custom Code), your approach may vary slightly.
1. Disable “Shrink on Scroll” Behavior
One of the quickest ways to reduce header bounce is to disable the shrink animation entirely. This can be done via Divi settings:
- Go to Divi > Theme Builder and open your Global Header.
- Click on the module that controls your menu/logo.
- Within the settings, disable any “Shrink on Scroll” or similar animations.
- This will prevent any animated resizing that leads to bouncing behavior.
2. Set a Fixed Header Height
Many bounce issues happen when the header dynamically resizes. To fix this, you can apply CSS to lock its height.
.et_fixed_header #main-header {
height: 80px !important;
transition: none !important;
}
This ensures that the browser isn’t trying to recalculate the layout every time you scroll.
3. Prevent Body Content From Shifting
If the header’s height changes or appears/disappears, it can push the body content down. Reserve padding at the top of the page to prevent this:
body {
padding-top: 80px;
}
Make sure the number of pixels matches your header height. This technique avoids content “jumping” below the header.
4. Disable Sticky Effects on Mobile
Mobile devices are more sensitive to layout shifts. Disabling sticky behavior on phones may solve bounce issues:
- In your Global Header, go to the sticky settings.
- Click on the responsive icon next to the “Sticky Position” setting.
- Choose to disable sticky for mobile and tablet views.
5. Use Custom CSS to Override Transitions
Sometimes the bounce is a result of animated transitions clashing. You can override Divi’s default transitions with custom CSS:
.et-fixed-header {
transition: none !important;
}
.et-fixed-header .et_menu_container {
transition: none !important;
}
Apply this via the Theme Customizer under Additional CSS or in your child theme’s style.css file.
6. Optimize for Performance
Site speed impacts how elements are loaded and displayed. Lagging JavaScript or delayed CSS can contribute to the bounce. Recommendations include:
- Use a performance plugin to defer unnecessary scripts.
- Minimize header design complexity — avoid excessive animations.
- Disable “Smooth Scrolling” in Divi settings if enabled.
Advanced Method: Use JavaScript Fix
For advanced users, adding a script to monitor scroll behavior and force visibility/control on the header works well. Here’s a simplified example:
document.addEventListener('DOMContentLoaded', function () {
const header = document.querySelector('#main-header');
let lastScrollY = window.scrollY;
window.addEventListener('scroll', function () {
if (window.scrollY > lastScrollY) {
header.classList.add('scrolling-down');
} else {
header.classList.remove('scrolling-down');
}
lastScrollY = window.scrollY;
});
});
This script can be customized to control how and when the header appears or changes class. Combine with appropriate CSS to fine-tune results.
Testing the Fixes
After applying changes, be sure to test across:
- Multiple devices (especially mobile)
- Different browsers (Chrome, Firefox, Safari)
- Various scroll speeds and interactions
You may also want to clear Divi’s static CSS file cache (Divi > Theme Options > Builder > Advanced) and browser cache to ensure all updates load correctly.
When to Contact Support
If none of these solutions remove the bounce, consider reaching out to Elegant Themes support. There may be conflicting plugins or an edge case related to your specific layout.
In rare circumstances, a Divi child theme or external plugin might interfere with scroll behaviors. Deactivating all plugins temporarily and then reactivating them one by one can help isolate such issues.
Conclusion
The Divi header bounce effect can be frustrating, but it’s not a permanent problem. With a combination of disabling unnecessary animations, applying consistent height, and refining sticky behaviors, you can eliminate the issue and improve your site’s UX. Whether fixing it with custom CSS or updating behavior through the Theme Builder, the key is to simplify and stabilize your header’s function on scroll. A smooth-scrolling, bounce-free menu bar is just a few tweaks away.
FAQs
-
Why is my Divi header bouncing on scroll?
The bounce happens due to conflicting animations, height changes, or layout shifts during scrolling. It’s especially common with sticky or shrinking headers. -
Can I disable the bounce on mobile only?
Yes, use Divi’s responsive settings in the Theme Builder to disable sticky features on mobile devices. -
Is there a plugin to fix this automatically?
While there’s no specific plugin to fix the bounce, performance and CSS optimization plugins like WP Rocket or Autoptimize can mitigate contributing factors. -
Do I need to use custom code?
You may need to use a small amount of custom CSS or JavaScript to completely eliminate bounce behavior, especially in complex layouts. -
Can Elegant Themes support help me with this?
Absolutely. If you’ve tried all possible methods and still experience the issue, reaching out to their support team can help identify unrecognized causes.

