什么时候应该在 amp-story 中的 amp-video 上使用 layout="fill" 与 layout="responsive"?两者有什么区别?
When should you use layout="fill" versus layout="responsive" on amp-video in amp-story? What is the difference between the two?
以下是 amp-video 标记的 amp 文档中的两个建议代码片段。在大多数情况下,哪种实施会产生更快、更可靠的结果?这两个片段在性能和用户体验方面有何不同?
第一个代码使用模板="fill" 和布局="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>
带有模板="fill" 和布局="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>
两者都对性能没有直接影响;这只会更改页面上的布局。此外,template="fill"
属性实际上很特殊,因为它覆盖了元素的大小。
所以,我实际上相信,无论 layout
属性的值如何,只要在包含图层上设置了 template="fill"
属性,最终结果都是相同的。
以下是 amp-video 标记的 amp 文档中的两个建议代码片段。在大多数情况下,哪种实施会产生更快、更可靠的结果?这两个片段在性能和用户体验方面有何不同?
第一个代码使用模板="fill" 和布局="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>
带有模板="fill" 和布局="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>
两者都对性能没有直接影响;这只会更改页面上的布局。此外,template="fill"
属性实际上很特殊,因为它覆盖了元素的大小。
所以,我实际上相信,无论 layout
属性的值如何,只要在包含图层上设置了 template="fill"
属性,最终结果都是相同的。