AMP HTML支持哪些CSS规则



我已经阅读了https://github.com/ampproject/amphtml/blob/master/docs/create_page.md关于CSS的使用,但我不确定格式允许什么CSS选择器。对选择器/属性有任何限制吗?

样式声明可以放在<html>的任何地方还是只能放在<head>中?

是否可以包含任何外部样式表?

来自官方AMP GitHub文档:

  • 您可以在DOM的<head>中包含1 <style>标签。您必须像这样将amp-custom附加到<style>标签:<style amp-custom>your style rules here</style>

  • 不能修改body元素的margin属性

  • 您不能通过@import加载或导入外部样式表

  • 不能给元素添加样式属性

  • 不能使用!important限定符

  • 您永远不能使用以下任何属性:

    • behavior:
    • overflow: scroll
    • overflow: auto
    • transition:
    • filter
    • animation
    • -moz-binding
  • 您可以使用以下选择器:

    • .class例如.row
    • #id#sidebar
    • tag-namesection
    • 选择器,如.row, .clearfix#sidebar, #main-body, article
    • 媒体查询,例如@media (max-width:48em){}
  • 你可以使用以下伪选择器:

    • :hover
    • :active
    • :visited
  • 你不能使用任何input元素,除了button(因为这些是用来与AMP Web组件交互的)。

  • 您必须避免使用以-amp-amp-为前缀的类名,以避免与AMP组件冲突。如果你愿意,可以重写这些组件的样式。

  • 样式规则不能超过50KB

  • 您可以通过白名单字体供应商(…谷歌字体)或通过@font-face通过HTTP/HTTPS —即不通过data:或JavaScript插件(因为JS是被禁止的)。


"transition" css属性不是不允许的,它只局限于gpu加速属性(目前是不透明,变换和-vendorPrefix-transform)。

https://www.ampproject.org/docs/guides/responsive/style_pages

最新更新