是否应在放大器样板之前或之后放置放大器

时间:2018-05-04 08:15:40

标签: html css amp-html

我发现的一些AMP样本似乎包含amp-custom标记before amp-boilerplate

  <style amp-custom>
    h1 {
      color: red;
    }
  </style>
  <style amp-boilerplate>.....</style>

虽然其他示例显示amp-boilerplate before amp-custom

<style amp-boilerplate>
    .....
</style>
<style amp-custom>
    h1 {
        color: red;
    }
</style>

如果我希望我的页面符合AMP标准,我应该在我的amp-boilerplate样式标记之前或之后放置amp-custom样式标记。

2 个答案:

答案 0 :(得分:3)

对于AMP有效性,顺序并不重要。但是,标头内的标签顺序会影响页面加载性能。头标记的推荐顺序是:

  1. meta charset,然后是剩余的meta代码。
  2. AMP运行时v0.js <script>标记(这应该尽快开始下载,因为它会阻止渲染)。
  3. 其他渲染延迟扩展程序的
  4. <script>标记(amp-experiment,amp-dynamic-css-classes)
  5. 剩余扩展程序的
  6. <script>个标签(amp-bind,...)
  7. <link>标记为favicon
  8. <style amp-custom>
  9. <head>
  10. 中允许的任何其他标记
  11. amp样板,首先是style amp-boilerplate,然后是noscript。 (将样板文件持续存在可避免自定义样式意外覆盖样板css规则)
  12. 请注意:这仅适用于未通过Google AMP Cache提供的AMP,因为缓存会按照这些规则重新排序。

答案 1 :(得分:1)

我不相信你把它们放在哪个顺序很重要。如果你有疑虑,你可以随时通过the AMP validator tool运行你的代码,或者在你的URL之后抛出#development = 1并检查浏览器dev中的控制台工具。

注意:在添加#development = 1之后,您可能必须在打开开发工具的情况下刷新页面两次,以使其在控制台中显示成功或失败消息。

我只是尝试在AMP验证器工具中放置amp-boilerplate之前的放大器自定义设置以及放大器定制之前的放大器样板,并且两者都作为AMP有效返回。

我知道我们的公司网站因为它为我们定义的内容而将它放在amp-custom之后,因此它优先于任何其他样式。