【问题标题】:Convert <img> to <amp-img>将 <img> 转换为 <amp-img>
【发布时间】:2017-06-08 12:08:23
【问题描述】:

&lt;img&gt; 转换为&lt;amp-img&gt; 的默认方式是什么?

我自己解释一下:在我要转换为 AMP 的网站中,我有很多没有宽度和高度的图像,例如:

&lt;img src="/img/image.png" alt="My image"&gt;

如果我不指定布局,则默认设置layout="container",并且大多数图像都会抛出以下错误:

amp-img 错误:布局不支持:容器

另一方面,大多数图片不适合响应式布局,这是谷歌在大多数情况下推荐的

我一直在检查文档上的布局类型:

但它们中的任何一个似乎都适合必须显示为真实尺寸的图像,而不是指定宽度或高度。

那么,在这种情况下,AMP 中的等价物是什么?

【问题讨论】:

    标签: amp-html


    【解决方案1】:

    正如您所说,您有多个图像,最好使用“layout="responsive"',这样您的图像至少会响应。 现在关于 WidthHeight。他们是必须的。如果您阅读 AMP 的目的,其中之一是使页面成为“Jumping/Flickering Free Content”,如果没有为图像提及宽度,就会发生这种情况。 通过指定宽度,浏览器(移动浏览器)可以计算出精确的空间并为该图像保留它并在之后显示内容。这样,在加载页面和图像时,内容不会有任何闪烁。

    关于 HTML 的重写,我可以提供的一个提示是,您可以使用 PHP、Python 或 Node JavaScript 编写一些小实用程序,它实际上可以读取源图像,计算它们的尺寸并替换您的 IMG 标签。

    希望这对您有所帮助,并祝您的 AMP 网站好运 :-)

    【讨论】:

      【解决方案2】:

      您可以使用layout=fixed,但您仍需要添加widthheight,因此您可能需要为您的图像计算这些值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-25
        • 2019-12-17
        • 1970-01-01
        相关资源
        最近更新 更多