搜尋
首頁web前端css教學使您的第一個自定義苗條過渡

使您的第一個自定義苗條過渡

Svelte的Transition API提供了一種有力的方法,可以使組件進入或離開DOM,包括創建自定義過渡。默認利用CSS動畫可確保最佳性能。基本語法很簡單:<element transition:transitionfunction=""></element> 。您也可以in指令或out指令用於單向過渡。

Svelte的svelte/transition軟件包提供了七個預構建的過渡功能,可以在不編寫自定義代碼的情況下,易於自定義,以提供svelte/easing ,以供各種動畫效果。嘗試這些可能性。

需要巧妙的介紹嗎?我們有一個全面的概述。

製作自定義苗條過渡

對於超出預構建選項的精細控制,Svelte允許定義自定義過渡功能,但要遵守特定的約定。如有記錄,API結構是:

 transition =(node:htmlelement,params:any)=> {
  延遲?:數字,
  持續時間?:數字,
  放鬆?:( t:number)=>數字,
  CSS?:( T:number,u:number)=>字符串,
  tick?:( t:number,u:number)=> void
}

過渡功能接收DOM節點,並帶有動畫參數返回對象。至關重要的是,它包括csstick功能。

css函數返回定義動畫的CSS字符串(例如,變換或不透明度更改)。 tick功能提供了完整的JavaScript控件,但是以性能成本繞過CSS動畫時的性能成本。

csstick都使用參數t (入口時為0.00至1.00,出口時1.00至0.00)和u (1- t )。例如, transform: scale(${t})在輸入時從0到1平滑地比例。

讓我們建立一個自定義過渡以說明。

您的第一個自定義苗條過渡

我們將從一個簡單的切換開始,以使用SVELTE #if塊來控制元素的DOM的影響(請記住,僅在DOM條目/出口上發生過渡)。

<script>
  let showing = true;
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

切換複選框顯示出鮮明的外觀/消失。現在,讓我們添加一個自定義過渡功能:

<script>
  let showing = true;
  function whoosh(node) {
    console.log(node);
  }
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

現在切換將元素記錄到控制台,確認連接。我們將通過動畫來增強它。讓我們創建一個css函數以進行縮放:

<script>
  function swoop() {
    return {
      duration: 1000,
      css: (t) => `transform: scale(${t})`
    }
  }
  let showing = true;
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

元素現在擴展,但突然。使用t進行平滑動畫:

<script>
  function swoop() {
    return {
      duration: 1000,
      css: (t) => `transform: scale(${t})`
    }
  }
  let showing = true;
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

對於“打動”效果,讓我們添加translateX ,從側面進行動畫:

<script>
  function swoop() {
    return {
      duration: 1000,
      css: (t, u) => `transform: scale(${t}) translateX(${u * 100}%)`
    }
  }
  let showing = true;
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

在這裡, ut的倒數)控制著translateX ,以確保流暢的運動。

最後,讓我們添加一個輕鬆的功能:

<script>
  import { elasticOut } from 'svelte/easing';

  function swoop() {
    return {
      duration: 1000,
      easing: elasticOut,
      css: (t, u) => `transform: scale(${t}) translateX(${u * 100}%)`
    }
  }
  let showing = true;
</script>

<label for="showing">
  展示
</label>
<input type="checkbox" bind:checked="{showing}" id="showing">

{#if顯示}
  <h1 id="你好自定義過渡">你好自定義過渡!</h1>
{/如果}

結論

您現在創建了一個自定義苗條的過渡!這只是一個起點。探索文檔和教程以獲取更高級的技術。了解tu的相互作用是創建動態動畫的關鍵。

以上是使您的第一個自定義苗條過渡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Draggin&#039;和droppin&#039;在反應中Draggin&#039;和droppin&#039;在反應中Apr 17, 2025 am 11:52 AM

React生態系統為我們提供了許多庫,所有庫都集中在拖放的相互作用上。我們有反應,反應,可愛dnd,

快速軟件快速軟件Apr 17, 2025 am 11:49 AM

最近有一些關於快速軟件的完美互連的事情。

帶有背景折疊的嵌套梯度帶有背景折疊的嵌套梯度Apr 17, 2025 am 11:47 AM

我可以說我經常使用背景折疊。 IT Wager IT幾乎從未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用React Hooks使用requestAnimationFrame使用React Hooks使用requestAnimationFrameApr 17, 2025 am 11:46 AM

使用RequestAnimationFrame進行動畫化應該很容易,但是如果您還沒有徹底閱讀React的文檔,那麼您可能會遇到一些事情

需要滾動到頁面頂部嗎?需要滾動到頁面頂部嗎?Apr 17, 2025 am 11:45 AM

向用戶提供此鏈接的最簡單方法是針對元素上的ID的鏈接。如此...

最好的(GraphQl)API是您編寫的API最好的(GraphQl)API是您編寫的APIApr 17, 2025 am 11:36 AM

聽著,我不是GraphQL專家,但我確實喜歡與之合作。作為前端開發人員,它向我曝光數據的方式非常酷。它就像一個菜單

在保留邊框半徑的同時,擴展盒子的各種方法在保留邊框半徑的同時,擴展盒子的各種方法Apr 17, 2025 am 11:19 AM

我最近注意到Codepen的一個有趣的更改:在懸停在主頁上的筆時,有一個矩形,圓角在後面擴展。

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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版

EditPlus 中文破解版

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