amp-image-lightbox

Edit on Github
Open in Playground

Introduction

The amp-image-lightbox component allows the user to expand an image to fill the viewport.

Setup

Import the amp-image-lightbox component in the header

<script async custom-element="amp-image-lightbox" src="https://cdn.ampproject.org/v0/amp-image-lightbox-0.1.js"></script>

Basic Usage

The amp-image-lightbox is activated using the on action on an amp-img element referencing the lightbox element's ID.

Example

<amp-img on="tap:lightbox1"
  role="button"
  tabindex="0"
  src="/img/Border_Collie.jpg"
  alt="Picture of a dog"
  title="Picture of a dog, view in lightbox"
  layout="responsive"
  width="300"
  height="246"></amp-img>

This is the lightbox. The image shown in the lightbox does not need to be defined.

Example

<amp-image-lightbox id="lightbox1"
  layout="nodisplay"></amp-image-lightbox>

It is even possible to show different images in the same amp-image-lightbox. Here is another image using the same lightbox.

Example

<amp-img on="tap:lightbox1"
  role="button"
  tabindex="0"
  src="/img/Hovawart.jpg"
  alt="Picture of a dog"
  title="Picture of a dog, view in lightbox"
  layout="responsive"
  width="600"
  height="400"></amp-img>

Captions

The amp-image-lightbox also can optionally display a caption for the image at the bottom of the viewport. This can either be the contents of the <figcaption> element when the image is in the figure tag...

Example

Border Collie.
<figure>
  <amp-img on="tap:lightbox1"
    role="button"
    tabindex="0"
    src="/img/Border_Collie.jpg"
    alt="Picture of a dog"
    title="Picture of a dog, view in lightbox"
    layout="responsive"
    width="300"
    height="246"></amp-img>
  <figcaption>Border Collie.</figcaption>
</figure>

... or the contents of the element whose ID is specified by the image's aria-describedby attribute.

Example

This is a border collie.
  <amp-img on="tap:lightbox1"
    role="button"
    tabindex="0"
    aria-describedby="imageDescription"
    alt="Picture of a dog"
    title="Picture of a dog, view in lightbox"
    src="/img/Border_Collie.jpg"
    width="300"
    height="246"></amp-img>
  <div id="imageDescription">
    This is a border collie.
  </div>