Important: this documentation is not applicable to your currently selected format stories!
amp-image-lightbox
Description
Provides a lightbox effect for a specified image.
Required Scripts
<script async custom-element="amp-image-lightbox" src="https://cdn.ampproject.org/v0/amp-image-lightbox-0.1.js"></script>
Supported Layouts
Usage
The amp-image-lightbox
component provides a lightbox experience for a
specified image. When the user clicks the image, the image displays in the
center of a full-viewport lightbox.
<amp-image-lightbox id="lightbox1" layout="nodisplay"></amp-image-lightbox> <amp-img on="tap:lightbox1" role="button" tabindex="0" src="image1.jpg" width="200" height="100" ></amp-img>
When the user clicks the image, the <amp-img>
activates the
<amp-image-lightbox>
via the
on
action, which references the ID of the <amp-image-lightbox>
element (i.e.,
lightbox1
). The <amp-image-lightbox>
then displays the image in the center
of the full-viewport lightbox. Note that the amp-image-lightbox
element itself
must be empty and must be set to layout=nodisplay
.
Among other things the amp-image-lightbox
allows the following user
manipulations: zooming, panning, showing/hiding of the description. Pressing the
escape key on a keyboard closes the lightbox.
To show a gallery of images in a lightbox, there's also the
<amp-lightbox-gallery>
component. To display other types of elements in a lightbox, use
<amp-lightbox>
.
Use a single lightbox for multiple images
You can use the same amp-image-lightbox
for more than one image on the AMP
page.
In this example, two images display: a cat and a frog. When the user clicks either image, the image displays in the lightbox.
<amp-image-lightbox id="lightbox1" layout="nodisplay"></amp-image-lightbox> <amp-img on="tap:lightbox1" role="button" tabindex="0" src="/img/frog.jpg" layout="responsive" width="360" height="360" ></amp-img> <amp-img on="tap:lightbox1" role="button" tabindex="0" src="/img/cat.jpg" layout="responsive" width="360" height="360" ></amp-img>
Add captions
Optionally, you can display captions at the bottom of the viewport for the
image. The <amp-image-lightbox>
components determines the content for the
caption as follows:
- If the image is in a
figure
tag, the content of the<figcaption>
displays for the caption. - If the image specifies an
aria-describedby
attribute, the content of the element whose ID is specified by thearia-describedby
attribute displays for the caption.
<!-- Captions via figcaption --> <figure> <amp-img on="tap:lightbox1" role="button" tabindex="0" src="dog.jpg" layout="responsive" width="300" height="246" ></amp-img> <figcaption>Border Collie</figcaption> </figure> <!-- Captions via aria-describedby --> <div> <amp-img on="tap:lightbox1" role="button" tabindex="0" src="dog.jpg" aria-describedby="imageDescription" layout="responsive" width="300" height="246" ></amp-img> <div id="imageDescription">This is a border collie.</div> </div>
Attributes
layout
Must be set to nodisplay
.
id
The ID for the lightbox element that's used as a target for the image's on
action.
data-close-button-aria-label
(optional)
An ARIA label that you can use for a close button.
Actions
open
(default)
Opens the image lightbox with the source image being the one that triggered the action.
Styling
You can style the amp-image-lightbox
component with standard CSS. Some of the
properties that can be styled are background
and color
. The
amp-image-lightbox-caption
class is also available to style the caption
section.
Validation
See amp-image-lightbox
rules
in the AMP validator specification.
Du hast dieses Dokument mehrmals gelesen, hast aber immer noch Fragen? Vielleicht hatten andere Nutzer das gleiche Problem: Schau doch bei Stack Overflow vorbei und lass dir von ihnen helfen.
Zu Stack Overflow wechseln Möchtest du einen Bug oder ein fehlendes Feature melden?Das AMP Projekt ist auf deine Teilnahme und deine Beiträge angewiesen! Wir hoffen natürlich, dass du dich aktiv an unserer Open Source Community beteiligen wirst. Aber wir freuen uns auch über einmalige Beiträge zu den Themen, die dich besonders interessieren.
Zu GitHub wechseln