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