AMP

amp-fit-text

實驗性
Bento

描述

展開或縮小字體大小以適應給定空間內的內容。

 

必要腳本

<script async custom-element="amp-fit-text" src="https://cdn.ampproject.org/v0/amp-fit-text-1.0.js"></script>

用法

展開或縮小其字體大小,以適應給予它的空間內的內容。

amp-fit-text 組件可讓您管理指定區域內文字的大小和版面配置。對於 amp-fit-text 元素中包含的內容,amp-fit-text 組件會找到最佳字體大小,以將所有內容都放入可用空間中。amp-fit-text 的預期內容是文字或其他內嵌內容,但也可能包含非內嵌內容。

在以下範例中,<amp-fit-text> 元素巢狀於 300x300 藍色 div 區塊中。對於 <amp-fit-text> 元素,我們指定了 responsive 版面配置。因此,文字會根據 <amp-fit-text> 元素的寬度和高度 (200x200) 提供的長寬比做出回應式縮放,但文字不會超過其父元素的大小。

Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.
<div style="width: 300px; height: 300px; background:#005AF0; color: #FFF;">
  <amp-fit-text width="200" height="200" layout="responsive">
    Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque
    inermis reprehendunt.
  </amp-fit-text>
</div>
在 playground 中開啟此程式碼片段

以下範例與上述範例類似,但在此範例中,我們指定了 max-font-size22,因此文字較小,但仍然適合空間

Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.
<div style="width: 300px; height: 300px; background:#005AF0; color: #FFF;">
  <amp-fit-text width="200" height="200" layout="responsive" max-font-size="22">
    Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque
    inermis reprehendunt.
  </amp-fit-text>
</div>
在 playground 中開啟此程式碼片段

從 0.1 版本遷移

0.1 不同,實驗性的 1.0 版本的 amp-fit-text 不會將邊距和邊框大小視為總 fit-text 覆蓋區域的一部分。

在有效的 AMP 文件之外獨立使用

Bento 可讓您在非 AMP 頁面中使用 AMP 組件,而無需完全提交到有效的 AMP。您可以取得這些組件,並將它們放置在不支援 AMP 的框架和 CMS 的實作中。請參閱我們的指南 在非 AMP 頁面中使用 AMP 組件,以取得更多資訊。

若要尋找 amp-fit-text 的獨立版本,請參閱 bento-fit-text

溢出的內容

如果 amp-fit-text 的內容溢出了可用空間,即使指定了 min-font-size,溢出的內容也會被截斷並隱藏。基於 WebKit 和 Blink 的瀏覽器會顯示省略符號來表示溢出的內容。

在以下範例中,我們指定了 min-font-size40,並在 amp-fit-text 元素內新增了更多內容。這會導致內容超出其固定區塊父元素的大小,因此文字會被截斷以符合容器。

Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt
<div style="width: 300px; height: 300px; background:#005AF0; color: #FFF;">
  <amp-fit-text width="200" height="200" layout="responsive" min-font-size="40">
    Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque
    inermis reprehendunt. Lorem ipsum dolor sit amet, has nisl nihil convenire
    et, vim at aeque inermis reprehendunt
  </amp-fit-text>
</div>
在 playground 中開啟此程式碼片段

溢出內容的可訪問性考量

雖然溢出的內容在視覺上會被截斷以符合容器,但請注意它仍然存在於文件中。請勿依賴溢出行為來簡單地將大量內容「塞入」您的頁面中,雖然在視覺上看起來可能適當,但這可能會導致頁面對於輔助技術 (例如螢幕閱讀器) 的使用者來說過於冗長,因為對於這些使用者,所有截斷的內容仍會完整地被讀取/宣告。

屬性

媒體查詢

可以設定 <amp-fit-text> 的屬性,以根據 媒體查詢 使用不同的選項。

min-font-size

指定 amp-fit-text 可以使用的最小字體大小 (以像素為單位) (整數)。

max-font-size

指定 amp-fit-text 可以使用的最大字體大小 (以像素為單位) (整數)。

通用屬性

此元素包含擴展到 AMP 組件的通用屬性

樣式

您可以使用標準 CSS 來設定 amp-fit-text 的樣式。特別是,您可以使用 text-alignfont-weightcolor 和許多其他 CSS 屬性,但主要例外是 font-size

需要更多協助嗎?

您已經閱讀這份文件很多次了,但它仍然沒有涵蓋您的所有問題嗎?也許其他人也有同樣的感受:在 Stack Overflow 上聯繫他們。

前往 Stack Overflow
發現錯誤或缺少功能?

AMP 專案非常鼓勵您的參與和貢獻!我們希望您能成為我們開源社群的長期參與者,但我們也歡迎您針對您特別熱衷的問題做出一次性的貢獻。

前往 GitHub