amp-fit-text
描述
扩大或缩小字体大小以使内容适应给定的空间。
所需脚本
<script async custom-element="amp-fit-text" src="https://cdn.ampproject.org/v0/amp-fit-text-0.1.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)提供的纵横比进行响应式缩放,但文本不会超过其父级的大小。
<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>
以下示例与上述示例类似,但在本示例中,我们指定了 max-font-size
为 22
,因此文本更小,但仍适合该空间
<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>
溢出内容
如果 amp-fit-text
的内容溢出可用空间,即使指定了 min-font-size
,溢出的内容也会被剪切并隐藏。基于 WebKit 和 Blink 的浏览器会显示溢出内容的省略号。
在以下示例中,我们指定了 min-font-size
为 40
,并在 amp-fit-text
元素中添加了更多内容。这会导致内容超出其固定块父级的大小,因此文本被截断以适合容器。
<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>
溢出内容的可访问性考虑
虽然溢出内容会视觉上被截断以适合容器,但请注意它仍然存在于文档中。不要依赖溢出行为来简单地在您的页面中“填充”大量内容 - 虽然视觉上它可能看起来合适,但对于辅助技术(如屏幕阅读器)的用户来说,它可能会导致页面过于冗长,因为对于这些用户,所有截断的内容仍然会被完整读取/宣布。
属性
min-font-size
指定 amp-fit-text
可以使用的最小字体大小(以像素为单位的整数)。
max-font-size
指定 amp-fit-text
可以使用的最大字体大小(以像素为单位的整数)。
常用属性
此元素包括扩展到 AMP 组件的 常用属性。
样式
您可以使用标准 CSS 设置 amp-fit-text
的样式。特别是,您可以使用 text-align
、font-weight
、color
和许多其他 CSS 属性,但主要的例外是 font-size
。
验证
请参阅 AMP 验证器规范中的 amp-fit-text 规则。
您已经阅读过本文档十几次,但它并没有真正涵盖您所有的问题?也许其他人也有同样的感受:在 Stack Overflow 上联系他们。
转到 Stack Overflow 发现错误或缺少功能?AMP 项目强烈鼓励您的参与和贡献!我们希望您能成为我们开源社区的持续参与者,但我们也欢迎您对您特别关注的问题进行一次性贡献。
转到 GitHub