To ensure the poster image of a hidden video appears correctly when shown in a modal in Webflow, you need to manage how the video is initially loaded and displayed.
1. Use an Image as the Trigger Preview
- Do not rely on the video tag’s
poster
attribute if the video is hidden via display: none
; hidden elements don’t trigger image resource loading. - Instead, place a separate image element that mimics the video poster and acts as the video launch trigger.
- Style this image to match the expected look of the video's poster.
2. Avoid Hiding with display: none
- Do not use
display: none
for the video container if it should show the poster frame later. - Use visibility: hidden, opacity: 0, or position it off-screen until it appears in the modal. This allows assets like the poster image (or thumbnail) to potentially load in the background.
3. Load Video Dynamically on Modal Open
- If you're embedding the video using an HTML Embed (e.g., YouTube or Vimeo), consider only injecting the embed code after the modal opens.
- This ensures the video is always loaded fresh with the poster or thumbnail visible.
4. Use Inline Background Image for Custom Styling
- If you're building a custom video modal experience, replicate the poster look by using a div with a background image matching the video poster.
- Only inject or reveal the actual video iframe or HTML5 video player once the user clicks.
5. Set the Poster Attribute on HTML5 Video
- If you're using a native HTML5 video component and not hiding it with
display: none
, set the poster field in Webflow's Video settings. - Ensure the image used in the poster field is optimized and hosted correctly.
6. Use Webflow Interactions to Handle Visibility
- Use Webflow Interactions (IX2) to set opacity and display styles when the modal is opened.
- This helps prevent flickering or load issues, especially with YouTube or Vimeo iframes.
Summary
To preserve the poster image of a hidden video shown later in a modal:
- Use a separate image element as the poster preview.
- Avoid
display: none
on the video element. - Load the video dynamically when the modal opens.
- Use the
poster
field properly for HTML5 videos and manage modal visibility with Webflow Interactions.