包含<style amp-boilerplate>的原因是什么

Yuv*_*raj 10 html css custom-attributes

我发现使用AMP需要以下CSS样板代码.它有什么作用?

 <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
Run Code Online (Sandbox Code Playgroud)

任何人都可以知道在AMP页面中包含上述css代码的原因吗?

我可以写< style amp-boilerplate="amp-boilerplate">而不是< style amp-boilerplate>吗?

Jon*_*mpf 11

任何人都可以知道在AMP页面中包含上述css代码的原因吗?

此代码本身用于隐藏页面直到完全呈现,然后将其淡入以提供更高的感知性能指标.如果你问的是标签本身,<style amp-boilerplate>那就是谷歌内部用来命令解析DOM和CSSOM的标签.

我可以写<style amp-boilerplate ="amp-boilerplate">而不是<style amp-boilerplate>吗?

是的,您可以将标记名称作为标记的值,它仍将通过AMP验证.但是,建议不要这样做,因为AMP规范可能随时发生变化,这可能不再有效.

我已通过在实时页面上使用AMP验证工具并在内部同时使用NodeJS验证器和Python验证器来确认这一点.