目錄
製作自定義苗條過渡
您的第一個自定義苗條過渡
結論
首頁 web前端 css教學 使您的第一個自定義苗條過渡

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

Mar 15, 2025 am 11:08 AM

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

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>你好自定義過渡!</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 transition:whoosh="">你好自定義過渡!</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 transition:swoop="">你好自定義過渡!</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 transition:swoop="">你好自定義過渡!</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 transition:swoop="">你好自定義過渡!</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 transition:swoop="">你好自定義過渡!</h1>
{/如果}

結論

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

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

人工智慧支援投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用CSS創建玻璃塑料效應 如何使用CSS創建玻璃塑料效應 Aug 22, 2025 am 07:54 AM

要創建CSS的玻璃擬態效果,需使用backdrop-filter實現背景模糊,設置半透明背景如rgba(255,255,255,0.1),添加細微邊框和陰影以增強層次感,並確保元素背後有足夠視覺內容;1.使用backdrop-filter:blur(10px)模糊背景內容;2.採用rgba或hsla定義透明背景控制通透程度;3.添加1pxsolidrgba(255,255,255,0.3)邊框及box-shadow提升立體感;4.確保容器具有豐富背景如圖片或紋理以呈現模糊穿透效果;5.為兼容舊瀏

如何在CSS中創建虛線邊框 如何在CSS中創建虛線邊框 Aug 15, 2025 am 04:56 AM

使用CSS創建點狀邊框只需設置border屬性為dotted即可,例如“border:3pxdotted#000”可為元素添加3像素寬的黑色點狀邊框,通過調整border-width可改變點的大小,較寬的邊框產生更大的點,且可單獨為某一邊設置點狀邊框如“border-top:2pxdottedred”,點狀邊框適用於div、input等塊級元素,常用於焦點狀態或可編輯區域以提升可訪問性,需注意顏色對比度,同時區別於dashed的短線樣式,dotted呈現圓形點狀,該特性在所有主流瀏覽器中均被廣泛

如何使用CSS創建垂直線 如何使用CSS創建垂直線 Aug 11, 2025 pm 12:49 PM

使用帶邊框的div可快速創建垂直線,通過設置border-left和height定義樣式和高度;2.利用::before或::after偽元素可在無額外HTML標籤的情況下添加垂直線,適合裝飾性分隔;3.在Flexbox佈局中,通過設置divider類的寬度和背景色,可實現彈性容器間的自適應垂直分隔線;4.在CSSGrid中,將垂直線作為獨立列(如auto寬度列)插入網格佈局,適用於響應式設計;應根據具體佈局需求選擇最合適的方法,確保結構簡潔且易於維護。

如何更改CSS中的列表樣式 如何更改CSS中的列表樣式 Aug 17, 2025 am 10:04 AM

要更改CSS列表樣式,首先使用list-style-type改變項目符號或編號樣式,1.使用list-style-type設置ul的項目符號為disc、circle或square,ol的編號為decimal、lower-alpha、upper-alpha、lower-roman或upper-roman,2.用list-style:none完全移除標記,3.使用list-style-image:url('bullet.png')替換為自定義圖像,4.通過list-style-position:in

如何使用CSS實現黑暗模式主題 如何使用CSS實現黑暗模式主題 Aug 22, 2025 am 09:55 AM

實現暗黑模式有兩種主要方式:一是使用prefers-color-scheme媒體查詢自動適配系統偏好,二是通過JavaScript添加手動切換功能。 1.使用prefers-color-scheme可自動根據用戶系統設置應用暗黑主題,無需JavaScript,只需定義媒體查詢內的樣式;2.實現手動切換需定義light-theme和dark-themeCSS類,添加切換按鈕,並用JavaScript管理主題狀態和localStorage保存用戶偏好;3.可結合兩者,在頁面加載時優先讀取localSt

如何在CSS中使用過濾器屬性 如何在CSS中使用過濾器屬性 Aug 11, 2025 pm 05:29 PM

TheCSSfilterpropertyallowsvisualeffectslikeblur,brightness,andgrayscaletobeapplieddirectlytoHTMLelements.1)Usethesyntaxfilter:filter-function(value)toapplyeffects.2)Combinemultiplefilterswithspaceseparation,e.g.,blur(2px)brightness(70%).3)Commonfunct

如何在CSS中使用網格 - 板序列 如何在CSS中使用網格 - 板序列 Aug 22, 2025 am 07:56 AM

Grid-template-areaspropertyallowsdevelopspocrockearteeintuitive,ReadableLayoutsByDefiningNemedGridareas; everystringrepresentsarowresentsarowandeashwordeachwordaColumnCell,withGrid-areanamesonamesonameSonemaneMeAnemesonChildEllementsMatchingThoseNoseNementsMatchingTheSoseIntheTemplate,suchans'headerheaderheaderheaderheaderheaderheaderheaderheader for for for for for for

如何更改CSS中的光標 如何更改CSS中的光標 Aug 16, 2025 am 05:00 AM

Usebuilt-incursortypeslikepointer,help,ornot-allowedtoprovideimmediatevisualfeedbackfordifferentinteractiveelements.2.ApplycustomcursorimageswiththecursorpropertyusingaURL,optionallyspecifyingahotspotandalwaysincludingafallbacklikeautoorpointer.3.Fol

See all articles