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

動畫

定義開啟燈箱的動畫樣式。依預設,這會設定為 fade-in。有效值為 fade-infly-in-bottomfly-in-top

此屬性可以設定為根據 媒體查詢 使用不同的選項。

可滾動

scrollable 屬性存在時,燈箱的內容可以在溢出燈箱高度時滾動。

動作

open (預設)

開啟燈箱。

關閉

關閉燈箱。

樣式

您可以使用標準 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