AMP

重要提示:本文档不适用于您当前选择的格式 email

amp-lightbox

实验性
Bento

描述

在全视口“灯箱”模态框中显示元素。

 

必需脚本

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

支持的布局

用法

amp-lightbox 组件定义在全视口覆盖/模态框中显示的子元素。当用户点击或单击某个元素(例如,按钮)时,单击元素的 on 属性中引用的 amp-lightbox ID 将触发灯箱占据整个视口,并显示 amp-lightbox 的子元素。

要以灯箱形式显示图像,还可以使用 <amp-image-lightbox> 组件。 要在灯箱中显示图像库,可以使用 <amp-lightbox-gallery>

在有效 AMP 文档之外的独立使用

Bento 允许您在非 AMP 页面中使用 AMP 组件,而无需完全致力于有效的 AMP。您可以将这些组件放置在不支持 AMP 的框架和 CMS 的实现中。 在我们的指南 在非 AMP 页面中使用 AMP 组件 中了解更多信息。

要查找 amp-lightbox 的独立版本,请参阅 bento-lightbox

属性

id

灯箱的唯一标识符。

layout(必需)

必须设置为 nodisplay

animation

定义打开灯箱的动画样式。默认情况下,这将设置为 fade-in。有效值为 fade-infly-in-bottomfly-in-top

可以配置此属性以根据 媒体查询 使用不同的选项。

scrollable

当存在 scrollable 属性时,如果灯箱的内容超出灯箱的高度,则可以滚动。

操作

open(默认)

打开灯箱。

close

关闭灯箱。

样式

您可以使用标准 CSS 来设置 amp-lightbox 的样式。

辅助功能

按下键盘上的 Esc 键或将焦点设置在灯箱外部的元素上会关闭灯箱。或者,在一个或多个灯箱内的元素上设置 on 属性,并将其方法设置为 close,则在点击或单击元素时会关闭灯箱。关闭后,焦点将返回到触发元素。

出于辅助功能的原因,如果用户在打开时没有在灯箱中提供焦点(使用 autofocus 属性或强制打开时获得焦点),则焦点将设置在使用 on:tap 的第一个元素上。否则,将创建并聚焦一个仅对屏幕阅读器可见的关闭按钮,可以选择使用 data-close-button-aria-label 属性值。

<button on="tap:quote-lb">See Quote</button>
<amp-lightbox id="quote-lb" layout="nodisplay">
  <blockquote>
    "Don't talk to me about JavaScript fatigue" - Horse JS
  </blockquote>
  <button on="tap:quote-lb.close">Nice!</button>
</amp-lightbox>

版本说明

实验性 1.0 版本的 amp-lightbox0.1 版本相比存在以下差异

  • 此组件当前不支持修改浏览器历史记录状态。
  • 不支持 data-close-button-aria-label,并且很快将替换为支持 slot="close-button"
  • animate-in 已重命名为 animation
需要更多帮助?

您已经阅读此文档多次,但它并未真正涵盖您的所有问题?也许其他人也有同样的感受:在 Stack Overflow 上与他们联系。

转到 Stack Overflow
发现错误或缺少功能?

AMP 项目强烈鼓励您的参与和贡献! 我们希望您能成为我们开源社区的长期参与者,我们也欢迎您针对您特别感兴趣的问题做出一次性贡献。

转到 GitHub