重要提示:此文档不适用于你当前选择的格式 stories!
amp-lightbox
描述
在全视口“灯箱”模式下显示元素。
必需脚本
<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-1.0.js"></script>
<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-1.0.js"></script> <link rel="stylesheet" href="https://cdn.ampproject.org/v0/amp-lightbox-1.0.css">
支持的布局
用法
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-in
、fly-in-bottom
和 fly-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-lightbox
与 0.1
版本有以下区别
- 此组件当前不支持修改浏览器历史记录状态。
- 不支持
data-close-button-aria-label
,并且很快将被对slot="close-button"
的支持取代。 animate-in
已重命名为animation
。
你已经读过这篇文档十几次了,但它并没有真正涵盖你所有的问题?也许其他人也有同感:请在 Stack Overflow 上与他们联系。
转到 Stack Overflow 发现错误或缺少功能?AMP 项目强烈鼓励你的参与和贡献!我们希望你成为我们开源社区的持续参与者,但我们也欢迎你对你特别感兴趣的问题进行一次性贡献。
转到 GitHub