How can I place a text with a link on top of each image in my Webflow layout that was created using a grid?

TL;DR
  • Wrap each image in a Relative-positioned Div Block and add an Absolutely-positioned overlay Div containing a Text Link on top.  
  • Use z-index to layer the overlay above the image, style for readability, and apply Flexbox or Grid for responsive alignment across all grid items.

You want to add text with a link on top of each image inside a Webflow grid layout. This is done by layering elements using positioning and div wrappers.

1. Wrap Each Image in a Div Block

  • Drag a Div Block into each grid cell that contains an image.
  • Set this Div Block’s position to Relative (in the Style panel). This allows absolutely positioned child elements to align against it.

2. Add the Image and Overlay Elements

  • Inside the wrapper Div Block, add your Image element as the first child.
  • Add another Div Block for overlay text inside the same wrapper.
  • Set the overlay Div’s position to Absolute and align it to Top Left (or use “Full” to stretch it fully across the image).
  • Set z-index of the overlay Div to a higher value (e.g., 2) so it sits above the image.

3. Style the Text Overlay

  • Inside the overlay Div, add a Text Link or Link Block.
  • Style the text (font size, color, etc.) to make it readable above the image.
  • Optionally add a semi-transparent background color for better legibility (e.g., black with 60% opacity).

4. Make the Layout Responsive

  • Use Flexbox or Grid inside the overlay Div to center the text vertically and horizontally.
  • Use responsive typography and padding to ensure it looks good on smaller screens.

5. Apply Consistently Across Grid Items

  • If your grid has multiple images, reuse the styled wrapper Div Block as a Symbol or Copy + Paste it into other cells.
  • Update the link and text as needed per instance.

Summary

Wrap each image in a Relative-positioned Div, then overlay an Absolutely-positioned Div containing your linked text. This ensures the text appears above the image inside each grid cell and remains responsive across devices.

Rate this answer

Other Webflow Questions