Shopify Popup Not Scrolling? Fix Unresponsive Modals on Horizon Theme (and Beyond!)

Hey there, fellow store owners!

Ever found yourself scratching your head because a crucial popup on your Shopify store just won't scroll? Or worse, your customers can't close it, leading to frustration and lost sales? It's a surprisingly common headache, especially with theme updates or custom elements, and it popped up recently in the Shopify community forums. I wanted to share the insights and solutions from a fantastic discussion about an unscrollable popup on the Horizon theme, because these fixes can apply to many other themes too.

The Popup Predicament: When "Click Here" Leads to "Stuck Here"

Our story starts with jopmoreira, a store owner using the Horizon theme, who noticed a significant problem: a product page popup link simply wouldn't scroll on either desktop or mobile. This isn't just an annoyance; it's a critical user experience blocker. Imagine a detailed product info popup, a size guide, or a special offer that customers can't fully interact with because they can't scroll to see all the content or find the close button. That's exactly what jopmoreira was facing with their store, vintseis.com (password: 1234, if you want to peek behind the scenes).

The community quickly jumped in. devcoders, quite rightly, asked for more details like screenshots or videos to diagnose the exact problem, which jopmoreira promptly provided with the store access.

Early Insights: Tackling Pointer Events

One of the first, and often crucial, pieces of advice came from shopplaza_team. They identified that the issue might stem from how the popup's overlay was handling "pointer events" – basically, whether your mouse clicks or touch gestures were actually registering on the elements within the popup, or if they were being blocked by the overlay itself. Their suggested fix was to add a specific CSS rule:

Solution 1: Ensuring Interaction with Pointer Events

This code ensures that the dialog modal is responsive to pointer events, allowing clicks and scrolls to register properly.

dialog.popup-link__content.dialog-modal {
    pointer-events: auto !important;
}

Here's how you'd typically implement this:

  1. Open the Code Editor:
    • From your Shopify admin, go to Online Store > Themes.
    • Find your current theme, click the three dots (...), and select Edit code.
  2. Locate Your Stylesheet:
    • In the left sidebar, navigate to the Assets folder.
    • Click on base.css (it might also be main.css or theme.css depending on your theme).
  3. Add the Code:
    • Scroll to the very bottom of the file.
    • Paste the CSS code provided above.
  4. Save and Test:
    • Click Save in the top right corner.
    • Refresh your store and test the popup on both desktop and mobile.

image

The Comprehensive Fix: Scrolling and Persistent Close Buttons

While the pointer-events fix is great for interaction, tim_1 stepped in with a more comprehensive solution that specifically addressed the scrolling issue and aimed to keep the close button fixed and visible, which is a fantastic user experience enhancement.

Initially, jopmoreira noted that tim_1's first iteration worked but the fixed close button only appeared on mobile. After some back-and-forth, tim_1 refined the code to work across both desktop and mobile, ensuring a consistent experience.

Solution 2: Enabling Scroll and Fixing Close Button (Recommended)

This code snippet is designed to make your popup content scrollable and ensure that the close button remains accessible.

.popup-link__inner {
  max-height: 100%;
  overflow: auto;
  pointer-events: auto;
}

dialog.popup-link__content {
  height: 100%;
}

Let's break down what this does:

  • .popup-link__inner: This targets the inner content area of your popup.
    • max-height: 100%;: Ensures the popup content doesn't exceed the viewport height.
    • overflow: auto;: This is the magic sauce for scrolling! If the content inside .popup-link__inner is taller than its container, a scrollbar will appear.
    • pointer-events: auto;: Just like in the previous solution, this makes sure you can actually interact with the content inside the popup.
  • dialog.popup-link__content: This targets the main dialog box of the popup.
    • height: 100%;: Makes the dialog itself take up the full available height, allowing its inner content to scroll properly within it.

You have a couple of options for adding this code:

  1. Using Theme Settings (Easier for many):
    • From your Shopify admin, go to Online Store > Themes.
    • Click Customize on your current theme.
    • In the theme editor, look for Theme settings (usually a gear icon or similar) in the bottom left.
    • Find the Custom CSS section.
    • Paste the code there. This is often the safest bet, as it keeps your custom code separate from the main theme files and can sometimes persist better through theme updates.
  2. Adding to base.css (Similar to Solution 1):
    • Follow steps 1-3 from Solution 1 (Edit code, find base.css in Assets).
    • Scroll to the very bottom and paste the code.
    • Click Save.

Screenshot 2026-03-27 at 12.36.27 PM

Final Thoughts and Best Practices

The key takeaway from this community discussion is that fixing popup issues often involves a combination of ensuring proper pointer-events for interaction and correctly managing overflow and height to allow scrolling. Always remember to:

  • Test Thoroughly: Check your popups on various devices (desktop, tablet, mobile) and browsers after making changes.
  • Clear Cache: Sometimes changes don't appear immediately due to browser or Shopify caching. Clear your browser cache or try an incognito window.
  • Back Up Your Theme: Before making any code changes, always duplicate your theme! This way, you have a quick rollback option if something goes awry.

It's awesome to see the community collaborating to solve these real-world challenges. Kudos to jopmoreira for raising the issue, and to devcoders, shopplaza_team, and especially tim_1 for their persistent help in finding and refining these solutions. Hopefully, these insights will save you some headaches and keep your Shopify store running smoothly, with popups that actually work for your customers!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases