amp-lightbox
描述
在全视口“lightbox”模式中显示元素。
必需脚本
<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"></script>
支持的布局
用法
amp-lightbox
组件定义在全视口覆盖/模式中显示的子元素。当用户点击或单击元素(例如按钮)时,在被单击元素的 on
属性中引用的 amp-lightbox
ID 触发 lightbox 占据整个视口并显示 amp-lightbox
的子元素。
对于在 lightbox 中显示图像,还有 <amp-image-lightbox>
组件。要将图像库显示在 lightbox 中,可以使用 <amp-lightbox-gallery>
。
属性
id
lightbox 的唯一标识符。
布局
必须设置为 nodisplay
。
animate-in
(可选)
定义打开灯箱的动画样式。默认情况下,这将设置为 fade-in
。有效值包括 fade-in
、fly-in-bottom
和 fly-in-top
。
fly-in-top
和 fly-in-bottom
动画预设修改 amp-lightbox
元素的 transform
属性。不要直接依赖于转换 amp-lightbox
元素。如果您需要应用转换,请将其设置在嵌套元素上。
操作
open
(默认)
打开灯箱。
关闭
关闭灯箱。
样式
您可以使用标准 CSS 设置 amp-lightbox
的样式。
无障碍
按下键盘上的 Escape 键或将焦点设置在灯箱外部的元素上会关闭灯箱。或者,在灯箱内的一个或多个元素上设置 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>
验证
请参阅 AMP 验证器规范中的 amp-lightbox
规则。
您已经阅读了本文档十几次,但它并没有真正涵盖您所有的问题?也许其他人也有同感:在 Stack Overflow 上联系他们。
转到 Stack Overflow 发现了一个错误或缺少功能?AMP 项目强烈鼓励您参与和做出贡献!我们希望您成为我们开源社区的持续参与者,但我们也欢迎您对您特别热衷的问题做出一次性贡献。
转到 GitHub