AMP
  • stories

AMP Story 動畫

簡介

AMP Story 支援開箱即用的動畫。amp-story-page 內的每個元素都可以定義進入動畫。您可以在這裡找到所有支援的動畫列表。

動畫可以幫助讓您的 Web Story 在視覺上更令人興奮和引人入勝,但請謹慎使用。有些使用者可能會覺得長時間、連續的動畫令人分心。其他使用者可能對動態敏感,並可能因過度使用動態和視差效果而受到負面影響。為了讓內容盡可能地易於存取,請保持您的進入動畫簡短且連貫。

淡入

動畫可以使用淡入效果。

<amp-story-page id="fade-in">
  <amp-story-grid-layer template="thirds">
    <h1>fade-in</h1>
    <div class="square"
        animate-in="fade-in"
        animate-in-duration="2s">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

動畫持續時間

所有動畫都可以使用 animate-in-duration 和 animate-in-delay 屬性進行自訂。

<amp-story-page id="delay-duration">
  <amp-story-grid-layer template="thirds">
    <h1>Wait for it ...</h1>
    <div class="square"
        animate-in="fade-in"
        animate-in-delay="2s"
        animate-in-duration="5s">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

自訂動畫

使用 animate-in-duration 和 animate-in-delay 屬性來自訂進入動畫。

<amp-story-page id="sequence">
  <amp-story-grid-layer template="vertical">
    <amp-img  id="image1"
              animate-in="fade-in"
              animate-in-delay="1s"
              animate-in-duration="1s"
              src="https://unsplash.it/720/320/?image=10"
              width="720"
              height="320"
              layout="responsive"
              alt="..."></amp-img>
    <amp-img  id="image2"
              animate-in="fade-in"
              animate-in-duration="1s"
              animate-in-delay="0.25s"
              animate-in-after="image1"
              src="https://unsplash.it/720/320/?image=11"
              width="720"
              height="320"
              layout="responsive"
              alt="..."></amp-img>
    <amp-img  id="image3"
              animate-in="fade-in"
              animate-in-duration="1s"
              animate-in-delay="0.25s"
              animate-in-after="image2"
              src="https://unsplash.it/720/320/?image=12"
              width="720"
              height="320"
              layout="responsive"
              alt="..."></amp-img>
    <amp-img  id="image4"
              animate-in="fade-in"
              animate-in-duration="1s"
              animate-in-delay="0.25s"
              animate-in-after="image3"
              src="https://unsplash.it/720/320/?image=13"
              width="720"
              height="320"
              layout="responsive"
              alt="..."></amp-img>
  </amp-story-grid-layer>
</amp-story-page>

組合動畫

您可以透過將多個動畫巢狀於多個元素中來組合它們。

<amp-story-page id="combining-animations">
  <amp-story-grid-layer template="thirds">
    <h1>fly-in-left + fade-in</h1>
    <div animate-in="fly-in-left"
         animate-in-duration="2s"
         grid-area="middle-third">
      <div class="square"
           animate-in-duration="2s"
           animate-in="fade-in">
      </div>
    </div>
  </amp-story-grid-layer>
</amp-story-page>

旋轉進入

動畫可以使用旋轉進入效果。

<amp-story-page id="twirl-in">
  <amp-story-grid-layer template="thirds">
    <h1>twirl-in</h1>
    <div class="square"
        animate-in="twirl-in">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

飛入

動畫可以使用從左側飛入效果。

<amp-story-page id="fly-in-left">
  <amp-story-grid-layer template="thirds">
    <h1>fly-in-left</h1>
    <div class="square"
        animate-in="fly-in-left">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從右側飛入

動畫可以使用從右側飛入效果。

<amp-story-page id="fly-in-right">
  <amp-story-grid-layer template="thirds">
    <h1>fly-in-right</h1>
    <div class="square"
        animate-in="fly-in-right">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從上方飛入

動畫可以使用從上方飛入效果。

<amp-story-page id="fly-in-top">
  <amp-story-grid-layer template="thirds">
    <h1>fly-in-top</h1>
    <div class="square"
        animate-in="fly-in-top">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從下方飛入

動畫可以使用從下方飛入效果。

<amp-story-page id="fly-in-bottom">
  <amp-story-grid-layer template="thirds">
    <h1>fly-in-bottom</h1>
    <div class="square"
        animate-in="fly-in-bottom">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從左側旋轉進入

動畫可以使用從左側旋轉進入效果。

<amp-story-page id="rotate-in-left">
  <amp-story-grid-layer template="thirds">
    <h1>rotate-in-left</h1>
    <div class="square"
        animate-in="rotate-in-left">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從右側旋轉進入

動畫可以使用從右側旋轉進入效果。

<amp-story-page id="rotate-in-right">
  <amp-story-grid-layer template="thirds">
    <h1>rotate-in-right</h1>
    <div class="square"
        animate-in="rotate-in-right">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

掉落進入

動畫可以使用掉落進入效果。

<amp-story-page id="drop-in">
  <amp-story-grid-layer template="thirds">
    <h1>drop-in</h1>
    <div class="circle"
         animate-in="drop">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從左側呼嘯進入

動畫可以使用從左側呼嘯進入效果。

<amp-story-page id="whoosh-in-left">
  <amp-story-grid-layer template="thirds">
    <h1>whoosh-in-left</h1>
    <div class="square"
        animate-in="whoosh-in-left">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

從右側呼嘯進入

動畫可以使用從右側呼嘯進入效果。

<amp-story-page id="whoosh-in-right">
  <amp-story-grid-layer template="thirds">
    <h1>whoosh-in-right</h1>
    <div class="square"
        animate-in="whoosh-in-right">
    </div>
  </amp-story-grid-layer>
</amp-story-page>

放大

您也可以在圖片上使用動畫來建立視覺效果。

結合這些來建立 Ken Burns 效果!在視覺效果章節中了解如何操作。

<amp-story-page id="zoom-in">
  <amp-story-grid-layer template="vertical">
    <amp-img animate-in="zoom-in"
             animate-in-duration="4s"
             layout="responsive"
             src="https://picsum.photos/720/320?image=1026"
             width="720"
             height="320"
             alt="...">
    </amp-img>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="fill">
    <h1>zoom-in</h1>
  </amp-story-grid-layer>
</amp-story-page>

縮小

動畫可以使用縮小效果。

<amp-story-page id="zoom-out">
  <amp-story-grid-layer template="vertical">
    <amp-img animate-in="zoom-out"
             animate-in-duration="4s"
             layout="responsive"
             src="https://picsum.photos/720/320?image=1026"
             width="720"
             height="320"
             alt="...">
    </amp-img>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="fill">
      <h1>zoom-out</h1>
  </amp-story-grid-layer>
</amp-story-page>

向左平移

動畫可以使用向左平移效果。

<amp-story-page id="pan-left">
    <amp-story-grid-layer template="fill">
      <amp-img animate-in="pan-left" id="img-pan-left" animate-in-duration="4s" layout="fixed" src="https://picsum.photos/720/320?image=1026"
        width="720" height="320" alt="...">
      </amp-img>
    </amp-story-grid-layer>
    <amp-story-grid-layer template="fill">
      <h1>pan-left</h1>
    </amp-story-grid-layer>
</amp-story-page>

向右平移

動畫可以使用向右平移效果。

<amp-story-page id="pan-right">
  <amp-story-grid-layer template="fill">
    <amp-img animate-in="pan-right" animate-in-duration="4s" layout="fixed" src="https://picsum.photos/720/320?image=1026" width="720"
      height="320" alt="...">
    </amp-img>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="fill">
    <h1>pan-right</h1>
  </amp-story-grid-layer>
</amp-story-page>

向上平移

動畫可以使用向上平移效果。

<amp-story-page id="pan-up">
  <amp-story-grid-layer template="fill">
    <amp-img animate-in="pan-up" animate-in-duration="4s" layout="fixed" src="https://picsum.photos/720/320?image=1026" width="720"
      height="320" alt="...">
    </amp-img>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="fill">
    <h1>pan-up</h1>
  </amp-story-grid-layer>
</amp-story-page>

向下平移

動畫可以使用向下平移效果。

<amp-story-page id="pan-down">
  <amp-story-grid-layer template="fill">
    <amp-img animate-in="pan-down" animate-in-duration="4s" layout="fixed" src="https://picsum.photos/720/320?image=1026" width="720"
      height="320" alt="...">
    </amp-img>
  </amp-story-grid-layer>
  <amp-story-grid-layer template="fill">
    <h1>pan-down</h1>
  </amp-story-grid-layer>
</amp-story-page>
需要更多說明嗎?

如果此頁面上的說明沒有涵蓋您的所有問題,請隨時與其他 AMP 使用者聯繫,討論您的確切使用案例。

前往 Stack Overflow
未說明的特性?

AMP 專案強烈鼓勵您的參與和貢獻!我們希望您能成為我們開源社群的持續參與者,但我們也歡迎您針對您特別關注的問題做出一次性的貢獻。

在 GitHub 上編輯範例