If your modal inside a Webflow CMS Collection only overlays the Collection List instead of the full viewport, it's typically a positioning or z-index issue.
1. Understand the Limitation
- Modals inside a Collection List Item are nested within that item, so their position is scoped to the parent (the Collection List Wrapper).
- This limits their ability to break out and overlay the full viewport.
2. Move the Modal Outside the Collection List
- Best practice: Place the modal outside the Collection List Wrapper in the page structure.
- This ensures the modal can cover the entire screen without being constrained.
3. Use a Global Modal with CMS Data
- Add a global modal element at the top level of the page (not inside the Collection List).
- Use custom attributes or script to populate that modal's content based on which CMS item was clicked.
4. Assign Click Interaction to Show Global Modal
- Inside each Collection List Item, add a trigger (like a “View Details” button).
- Use the Element Trigger → Mouse Click (Tap) to:
- Set a CMS field (via custom embed or script) into the global modal.
- Show the global modal (using Webflow interactions or JavaScript).
5. Ensure Correct Positioning and Z-Index
- Give the global modal the following styles:
- Position: Fixed
- Top / Left / Right / Bottom: 0
- Z-index: Something high (e.g., 9999)
- This ensures the modal always overlays the full screen, regardless of scroll.
6. Use Custom Code (Optional for Advanced Behavior)
- If you want to dynamically pull in content per CMS item without duplicating modals:
- Use a script to assign data attributes on click buttons (e.g.,
data-title, data-image). - On click, grab these attributes and populate the global modal.
Summary
To fix a modal only displaying over the CMS Collection area, move the modal outside the Collection List, and use a global modal that dynamically displays content for the clicked item. This avoids layout constraints and ensures it overlays the entire viewport.