AMP

重要事項:本文件不適用於您目前選取的格式 廣告

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