🖍️
CSS 排版及動畫效果
  • CSS 排版及動畫效果
  • 1. 簡介
    • 1.1 講者簡介
    • 1.2 課程簡介
    • 1.3 開發工具簡介
  • 2. 棋盤式排版模式 Grid
    • 2.1 基本觀念及術語
    • 2.2 Grid 排版 - Container
    • 2.3 Grid 排版 - Items
  • 3. 多欄排版模式 Column
  • 4. 轉場效果 transition
    • 4.1 第一個 transition
    • 4.2 屬性 transition-property
    • 4.3 期間 transition-duration
    • 4.4 漸變函式 transition-timing-function
    • 4.5 延遲 transition-delay
    • 4.6 transition 縮寫
    • 4.7 練習
  • 5. 動畫效果 animation
    • 5.1 第一個 animation
    • 5.2 關於 keyframes
    • 5.3 同個元素套用多個 animation
    • 5.4 次數 animation-iteration-count
    • 5.5 方向 animation-direction
    • 5.6 延遲 animation-delay
    • 5.7 填滿模式 animation-fill-mode
    • 5.8 播放狀態 animation-play-state
    • 5.9 漸變函式 animation-timing-function
    • 5.10 animation 縮寫
    • 5.11 補充:動畫效果事件(Animation Event)
    • 5.12 練習
  • 6. 作業
  • 7. 第三方動畫效果套件
    • 7.1 Animate.css
    • 7.2 AOS
    • 7.3 CSS Loader
  • 8. 大量練習
  • 9. 其它及參考資料
Powered by GitBook
On this page
  • 官網
  • 說明
  • 下載
  • 基本套用
  • 範例 1:有哪些動畫效果
  • 範例 2:瞭解 aos 基本屬性
  • 範例 3:瞭解 data-aos-offset
  • 範例 4:瞭解 data-aos-anchor-placement
  • 範例 5:瞭解 data-aos-anchor
  • 進階套用
  • 範例 1:利用 AOS,套用自己寫的 animation
  • 範例 2:寫一個 keyframes 的簡單動畫效果,讓 AOS 套用
  1. 7. 第三方動畫效果套件

7.2 AOS

Previous7.1 Animate.cssNext7.3 CSS Loader

Last updated 1 year ago

官網

官網:

說明文件:

說明

在螢幕畫面中上下滑動頁面時,滑到指定位置,觸發動畫效果。

下載

官方提供的初始化:

<script>
  AOS.init();
</script>

基本套用

範例 1:有哪些動畫效果

在想要套用的元素上,加上 data-aos 屬性及動畫效果,例:

<div class="custom_block" data-aos="fade-up">測試的文字2</div>

最後再執行以下 JS 程式:

AOS.init();

範例 2:瞭解 aos 基本屬性

  • data-aos-duration:0 ~ 3000 毫秒。400 是預設。

  • data-aos-delay:0 ~ 3000 毫秒。0 是預設。

  • data-aos-once:是否僅執行一次( true 或 false )。false 是預設。

藉由以下範例,自行測試上述四個屬性:

範例 3:瞭解 data-aos-offset

  • data-aos-offset:預設是 120,單位是px。當螢幕的下方經過該元素之後,這 120 指的是該元素的上方、螢幕的底部,距離是 120px 時,會觸發動畫效果。

以下範例請將 data-aos-offset 由 120 改為 0,觀察看看,也就是該元素的上方、螢幕的底部碰到的時候,就觸發動畫效果。

範例 4:瞭解 data-aos-anchor-placement

  • data-aos-anchor-placement:預設值是 top-bottom,第一個 top 指的是該元素的上方,第二個 bottom 指的是螢幕的下方。分別可以各自改成 top、center、bottom 的組合(例 center-center ),以達成該元素的哪個位置碰觸到螢幕的哪個位置時,觸發動畫效果。

以下例子 data-aos-offset 設定成 0,data-aos-anchor-placement 沿用預設值 top-bottom ,以便觀察:

改成 top-center(該元素的上方、螢幕的中間),然後自己做一個動畫效果的「觸發提示線」,以便觀察:

範例 5:瞭解 data-aos-anchor

  • data-aos-anchor:將該元素的觸發位置,改由另一個元素去決定觸發時機。

以下例子碰到黃色區域的時候,紅色元素的動畫效果就會觸發:

進階套用

範例 1:利用 AOS,套用自己寫的 animation

撰寫如下 css( 屬性 data-aos 等於 rotate-animation ,創造一個旋轉 360 度的動畫效果),接下來直接在標籤加上 data-aos 屬性,然後再加上 rotate-animation 的值,就可以創造自訂的動畫效果了:

[data-aos="rotate-animation"] {
  transform: rotate(0deg);
  transition: transform 1s;
}
[data-aos="rotate-animation"].aos-animate{
  transform: rotate(360deg);
}

觀察:在動畫效果觸發的時候,會自動加上 aos-animate 樣式。

範例 2:寫一個 keyframes 的簡單動畫效果,讓 AOS 套用

撰寫如下 css( 屬性 data-aos 等於 my-blink-animation ,創造閃爍效果),接下來直接在 data-aos 屬性上,加上 my-blink-animation 的值,就可以創造自訂的 keyframes 動畫效果了:

@keyframes blink_animation {
  0%{
    opacity: 1;
  }
  25%{
    opacity: 0;
  }
  50%{
    opacity: 1;
  }
  75%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
[data-aos="my-blink-animation"] {
}
[data-aos="my-blink-animation"].aos-animate{
  animation-name: blink_animation;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

data-aos:套用哪個動畫效果,。

data-aos-easing:。ease 是預設。

官方提供
官方提供
https://michalsnik.github.io/aos/
https://github.com/michalsnik/aos
AOS CDN