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 中打开此代码段

以下示例与上面的示例类似,但在本示例中我们指定了 22max-font-size,因此文本较小但仍适合空间

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 不会将边距和边框大小视为对总的适应文本覆盖区域的贡献。

在有效的 AMP 文档之外独立使用

Bento 允许您在非 AMP 页面中使用 AMP 组件,而无需完全提交到有效的 AMP。您可以将这些组件放置在不支持 AMP 的框架和 CMS 的实现中。请阅读我们的指南 在非 AMP 页面中使用 AMP 组件,了解更多信息。

要查找 amp-fit-text 的独立版本,请参阅 bento-fit-text

内容溢出

如果 amp-fit-text 的内容溢出可用空间,即使指定了 min-font-size,溢出的内容也会被截断并隐藏。基于 WebKit 和 Blink 的浏览器会显示溢出内容的省略号。

在以下示例中,我们指定了 40min-font-size,并在 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