1

以下是 amp-video 标签的 amp 文档中建议的两个代码片段。在大多数情况下,哪种实现会产生更快、更可靠的结果?这两个片段在性能和用户体验方面有什么区别?

第一个代码用 template="fill" 和 layout="fill" 截断 - https://github.com/ampproject/amphtml/blob/master/extensions/amp-story/amp-story.md#children

<amp-story-page id="cover">
  <amp-story-grid-layer template="fill">
    <amp-video layout="fill" src="background.mp4" poster="background.png" muted autoplay></amp-video>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="vertical">
    <h1>These are the Top 5 World's Most...</h1>
    <p>Jon Bersch</p>
    <p>May 18</p>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="thirds">
    <amp-img grid-area="bottom-third" src="a-logo.svg" width="64" height="64"></amp-img>
  </amp-story-grid-layer>
</amp-story-page>

第二个带有 template="fill" 和 layout="responsive" 的代码片段 - https://www.ampproject.org/docs/reference/components/amp-video

<amp-video controls
  width="640"
  height="360"
  layout="responsive"
  poster="images/kitten-playing.png">
  <source src="videos/kitten-playing.webm"
    type="video/webm" />
  <source src="videos/kitten-playing.mp4"
    type="video/mp4" />
  <div fallback>
    <p>This browser does not support the video element.</p>
  </div>
4

1 回答 1

2

两者都没有直接影响性能;这只会改变页面上的布局。此外,该template="fill"属性实际上是特殊的,因为它覆盖了元素的大小。

所以,我实际上相信,无论属性的值如何,这里的最终结果都是相同的layout,只要template="fill"在包含层上设置了属性。

于 2018-10-13T06:07:57.917 回答