搜尋
首頁web前端css教學web-slinger.css:像wow.js一樣,但是帶有CSS-y滾動動畫

Web-Slinger.css: Like Wow.js But With CSS-y Scroll Animations

>本文探討了滾動動畫,專門針對“滾動觸發”,這是一種技術,一旦用戶滾動就可以激活特定點,則動畫會激活。 雖然目前缺乏本機CSS支持,但我們可以使用巧妙的CSS技術來實現此效果,從而創建一個僅使用CSS的JavaScript庫,例如WOW.JS。 這種方法利用animation-timeline屬性,自定義屬性和样式查詢。

>

>現有的滾動動畫解決方案在向上滾動時通常會反向動畫,這與WOW.J.中所需的“一對”行為不同。 此限制啟發了創建“ web-slinger.css”,一個純CSS庫模仿wow.js功能。

> web-slinger.css:僅CSS僅滾動動畫庫

>

> web-slinger.css使用.scroll-trigger-n>和.on-scroll-trigger-n的類,以及自定義屬性(--scroll-trigger-n)來管理動畫。 這種方法將動畫從動畫元素中觸發,提供靈活性。

一個簡單的示例使用

>觸發來自Animate.css的“ Flipiny”動畫。 更複雜的示例,例如演示中的“ cownter”,演示了從單個滾動點觸發多個動畫。 .scroll-trigger-8

cowner的標記很簡單:

<div>
  <h2></h2>
  <div>
    <br><br><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">? Play again</a>
  </div>
</div>
及其CSS利用樣式查詢動態內容更新:>

演示將web-slinger.css用作外部資源。
.header {
  .cownter::after {
    --cownter: calc(var(--scroll-trigger-2) + var(--scroll-trigger-4) + var(--scroll-trigger-8) + var(--scroll-trigger-11));
    --pluralised-cow: 'cows';
    counter-set: cownter var(--cownter);
    content: "Have " counter(cownter) " " var(--pluralised-cow) ", man";
  }

  @container style(--scroll-trigger-2: 1) and style(--scroll-trigger-4: 0) {
    .cownter::after {
      --pluralised-cow: 'cow';
    }
  }

  a {
    text-decoration: none;
    color: blue;
  }
}

:root:has(.reset:active) * {
  animation-name: none;
}
> web-slinger.css實現詳細信息

核心概念涉及使用

作為動畫時間表來創建永久固定元素。 然後,樣式查詢和自定義屬性基於此固定元素的可見性控制其他動畫。

>該技術避免了直接對用戶可見的元素進行動畫動畫,而是將固定元素作為觸發器。 命名查看進度時間表(

)將固定元素鏈接到要動畫的元素。 view()

>查看CSS代碼timeline-scope

>限制和未來改進
/** Each trigger element toggles `--scroll-trigger-n` from 0 to 1, unpausing animations on `.on-scroll-trigger-n` **/
:root {
  animation-name: run-scroll-trigger-1, run-scroll-trigger-2 /*etc*/;
  animation-duration: 1ms;
  animation-fill-mode: forwards;
  animation-timeline: --trigger-timeline-1, --trigger-timeline-2 /*etc*/;
  timeline-scope: --trigger-timeline-1, --trigger-timeline-2 /*etc*/;
}

@property --scroll-trigger-1 {
  syntax: "<integer>";
  initial-value: 0;
  inherits: true;
}
@keyframes run-scroll-trigger-1 {
  to { --scroll-trigger-1: 1; }
}

/** Animate elements only when `.scroll-trigger-1` is in view **/
.on-scroll-trigger-1 { animation-play-state: paused; }
@container style(--scroll-trigger-1: 1) { .on-scroll-trigger-1 { animation-play-state: running; } }

/** Trigger element, fixed to top, activating animations **/
.scroll-trigger-1 { view-timeline-name: --trigger-timeline-1; }</integer>

> Web-slinger.css雖然功能性,但會生成帶有更多觸發器的較大的CSS文件。 編號的班級名稱缺乏語義清晰度。 理想情況下,本機瀏覽器支持將允許使用ID鏈接觸發器和目標,類似於假設的屬性。

捲軸觸發的動畫的未來在於本機瀏覽器支持。 可以採用類似於web-slinger.css的聲明性方法進行標準化。

以上是web-slinger.css:像wow.js一樣,但是帶有CSS-y滾動動畫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
迭代使用樣式組件的React設計迭代使用樣式組件的React設計Apr 21, 2025 am 11:29 AM

在一個完美的世界中,我們的項目將擁有無限的資源和時間。我們的團隊將開始使用經過深思熟慮的UX設計進行編碼。

哦,製作三角形麵包絲帶的許多方法!哦,製作三角形麵包絲帶的許多方法!Apr 21, 2025 am 11:26 AM

哦,製作三角形麵包屑絲帶的許多方法

CSS指南中的SVG屬性CSS指南中的SVG屬性Apr 21, 2025 am 11:21 AM

SVG具有自己的一套元素,屬性和屬性集,以至於內聯SVG代碼可能會變得漫長而復雜。通過利用CSS和SVG 2規範的一些即將到來的功能,我們可以減少該代碼以進行清潔標記。

交叉觀察者的一些功能用途可以知道何時在元素中查看交叉觀察者的一些功能用途可以知道何時在元素中查看Apr 21, 2025 am 11:19 AM

您可能不知道這一點,但是JavaScript最近偷偷地積累了許多觀察者,而交叉觀察者是其中的一部分

恢復偏愛減少運動恢復偏愛減少運動Apr 21, 2025 am 11:18 AM

我們可能不需要扔掉所有CSS動畫。請記住,這更喜歡減少動作,而不喜歡不運動。

如何將進步的Web應用程序進入Google Play商店如何將進步的Web應用程序進入Google Play商店Apr 21, 2025 am 11:10 AM

PWA(Progressive Web應用程序)已經與我們在一起了一段時間。但是,每次我嘗試向客戶解釋它時,同樣的問題都會出現:“我的用戶會成為

處理HTML的最簡單方法包括處理HTML的最簡單方法包括Apr 21, 2025 am 11:09 AM

這對我來說非常令人驚訝,HTML從未在其中包含其他HTML文件。似乎也沒有任何東西

更改懸停在懸停的SVG的顏色更改懸停在懸停的SVG的顏色Apr 21, 2025 am 11:04 AM

使用SVG有很多不同的方法。取決於哪種方式,在不同狀態或條件下重新定制該SVG的策略 - 懸停,

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中