国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Svelte 存儲(chǔ)的快速入門
彈簧速成課程
首頁 web前端 css教學(xué) 苗條和春季動(dòng)畫

苗條和春季動(dòng)畫

Mar 28, 2025 pm 12:20 PM

Svelte and Spring Animations

Spring 動(dòng)畫是讓UI 交互栩栩如生的絕佳方式。 Spring 動(dòng)畫並非以恆定速率在一段時(shí)間內(nèi)更改屬性,而是使用彈簧物理學(xué)來移動(dòng)事物,從而給人以真實(shí)物體移動(dòng)的印象,並能為用戶提供更自然的體驗(yàn)。

我之前寫過關(guān)於Spring 動(dòng)畫的文章。那篇文章基於React,使用react-spring 進(jìn)行動(dòng)畫處理。本文將探討在Svelte 中類似的思想。

CSS 開發(fā)人員!在控制動(dòng)畫效果時(shí),通常會(huì)想到緩動(dòng)。您可以將“彈簧”動(dòng)畫視為基於現(xiàn)實(shí)世界物理學(xué)的緩動(dòng)子類別。

Svelte 實(shí)際上在框架中內(nèi)置了彈簧,無需任何外部庫。我們將回顧之前關(guān)於react-spring 的文章前半部分的內(nèi)容。但之後,我們將深入探討Svelte 中彈簧的所有使用方法,並將實(shí)際的實(shí)現(xiàn)留到以後的文章中。雖然這可能看起來令人失望,但Svelte 有一些React 中沒有的獨(dú)特功能,可以有效地與這些動(dòng)畫基元集成。我們將花一些時(shí)間討論它們。

還有一點(diǎn)需要注意:本文中穿插的一些演示可能看起來很奇怪,因?yàn)槲覍椈膳渲脼椤皬椥浴备螅援a(chǎn)生更明顯的效果。如果您使用了任何演示的代碼,請(qǐng)務(wù)必找到適合您的彈簧配置。

這是Rich Harris 製作的一個(gè)很棒的REPL,用於展示各種彈簧配置及其行為。

Svelte 存儲(chǔ)的快速入門

在開始之前,讓我們快速瀏覽一下Svelte 存儲(chǔ)。雖然Svelte 的組件完全能夠存儲(chǔ)和更新狀態(tài),但Svelte 也具有存儲(chǔ)的概念,允許您在組件外部存儲(chǔ)狀態(tài)。由於Svelte 的Spring API 使用存儲(chǔ),因此我們將在此快速介紹其重要部分。

要?jiǎng)?chuàng)建存儲(chǔ)的實(shí)例,我們可以導(dǎo)入writable 類型,並像這樣創(chuàng)建它:

 import { writable } from "svelte/store";
const clicks = writable(0);

clicks 變量是一個(gè)值為0 的存儲(chǔ)。有兩種方法可以設(shè)置存儲(chǔ)的新值:set 和update 方法。前者接收要設(shè)置為存儲(chǔ)的值,而後者接收一個(gè)回調(diào)函數(shù),接受當(dāng)前值並返回新值。

 function increment() {
  clicks.update(val => val 1);
}
function setTo5() {
  clicks.set(5);
}

如果您無法實(shí)際使用狀態(tài),那麼狀態(tài)就沒有用。為此,存儲(chǔ)提供了subscribe 方法,允許您收到新值的通知——但在組件內(nèi)使用它時(shí),您可以在存儲(chǔ)名稱前加上$ 字符,這告訴Svelte 不僅要顯示存儲(chǔ)的當(dāng)前值,還要在它更改時(shí)更新。例如:

<h1> Value {$clicks}</h1>
Increment
Set to 5

這是一個(gè)完整的、可工作的代碼示例。存儲(chǔ)提供了許多其他功能,例如派生存儲(chǔ)(允許您將存儲(chǔ)鏈接在一起)、可讀存儲(chǔ),甚至能夠在首次觀察存儲(chǔ)和不再有觀察者時(shí)收到通知。但是對(duì)於本文的目的,上面顯示的代碼是我們需要關(guān)注的全部內(nèi)容。請(qǐng)參閱Svelte 文檔或交互式教程以了解更多信息。

彈簧速成課程

讓我們快速介紹一下彈簧及其作用。我們將查看一個(gè)簡單的UI,它更改某些元素的呈現(xiàn)方面(不透明度和轉(zhuǎn)換),然後查看動(dòng)畫更改。

這是一個(gè)最小的Svelte 組件,它切換一個(gè)<div>的不透明度,並切換另一個(gè)<code><div>的x 軸轉(zhuǎn)換(沒有任何動(dòng)畫)。<pre class="brush:php;toolbar:false">&lt;div style=&quot;opacity: {shown ? 1 : 0}&quot;&gt; Content to toggle&lt;/div&gt; &lt;br&gt;Toggle &lt;hr&gt;&lt;div style=&quot;transform: translateX({moved}px)&quot;&gt;I'm a box.&lt;/div&gt; &lt;br&gt;Move it!</pre> <p>這些更改會(huì)立即應(yīng)用,因此讓我們看看如何對(duì)其進(jìn)行動(dòng)畫處理。這就是彈簧的用武之地。在Svelte 中,彈簧是一個(gè)存儲(chǔ),我們可以在其上設(shè)置所需的值,但它不會(huì)立即更改,而是存儲(chǔ)內(nèi)部使用彈簧物理學(xué)逐漸更改值。然後,我們可以將我們的UI 綁定到這個(gè)變化的值,以獲得不錯(cuò)的動(dòng)畫效果。讓我們看看它的實(shí)際效果。</p> <pre class="brush:php;toolbar:false"> import { spring } from &quot;svelte/motion&quot;; const fadeSpring = spring(1, { stiffness: 0.1, damping: 0.5 }); const transformSpring = spring(0, { stiffness: 0.2, damping: 0.1 }); const toggleFade = () =&gt; fadeSpring.update(val =&gt; (val ? 0 : 1)); const toggleTransform = () =&gt; transformSpring.update(val =&gt; (val ? 0 : 500)); const snapTransform = () =&gt; transformSpring.update(val =&gt; val, { hard: true }); &lt;div style=&quot;opacity: {$fadeSpring}&quot;&gt;Content to fade&lt;/div&gt; &lt;br&gt;Fade Toggle &lt;hr&gt;&lt;div style=&quot;transform: translateX({$transformSpring}px)&quot;&gt;I'm a box.&lt;/div&gt; &lt;br&gt;Move it! Snap into place</pre> <p>我們從Svelte 獲取spring 函數(shù),並為不透明度和轉(zhuǎn)換動(dòng)畫設(shè)置不同的spring 實(shí)例。轉(zhuǎn)換彈簧配置被故意設(shè)置為<em>非常有彈性</em>,以幫助稍後展示如何臨時(shí)關(guān)閉彈簧動(dòng)畫並立即應(yīng)用所需更改(這將在以後派上用場)。腳本塊的末尾是用於設(shè)置所需屬性的點(diǎn)擊處理程序。然後,在HTML 中,我們將變化的值直接綁定到我們的元素……就是這樣!這就是Svelte 中基本彈簧動(dòng)畫的全部內(nèi)容。</p> <p>唯一剩下的項(xiàng)目是snapTransform 函數(shù),我們將其轉(zhuǎn)換彈簧設(shè)置為其當(dāng)前值,但還將一個(gè)對(duì)像作為第二個(gè)參數(shù)傳遞,其中hard: true。這具有立即應(yīng)用所需值而無需任何動(dòng)畫的效果。</p> <p>此演示以及我們將在本文中看到的其餘基本示例都位於此處:[此處應(yīng)插入演示鏈接]</p> <p> ...(文章其餘部分的偽原創(chuàng),保持原文意思不變,並保持圖片位置和格式)</p> </div>

以上是苗條和春季動(dòng)畫的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何僅在某些頁面上包括CSS? 如何僅在某些頁面上包括CSS? Jun 11, 2025 am 12:01 AM

選擇性包含CSS在特定頁面上的方法有三種:1.內(nèi)聯(lián)CSS,適用於不常訪問或需要獨(dú)特樣式的頁面;2.使用JavaScript條件加載外部CSS文件,適合需要靈活性的情況;3.服務(wù)器端包含,適用於使用服務(wù)器端語言的場景。這種方法可以優(yōu)化網(wǎng)站性能和可維護(hù)性,但需平衡模塊化與性能。

什麼是'渲染障礙CSS”? 什麼是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。 1.提取關(guān)鍵CSS並內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合併CSS減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

如何在無花果中使用Lotties 如何在無花果中使用Lotties Jun 14, 2025 am 10:17 AM

在接下來的教程中,我將向您展示如何在無花果中創(chuàng)建Lottie動(dòng)畫。我們將使用兩種彩色設(shè)計(jì)來超越如何在無花果上進(jìn)行動(dòng)畫,然後向您展示如何從Figma到Lottie動(dòng)畫。您只需要免費(fèi)無花果

打破邊界:用(s)CSS構(gòu)建湯姆拼圖 打破邊界:用(s)CSS構(gòu)建湯姆拼圖 Jun 13, 2025 am 11:33 AM

我們對(duì)其進(jìn)行了測試,事實(shí)證明,至少在低級(jí)邏輯和拼圖行為時(shí),Sass可以替換JavaScript。除了地圖,混音,功能和大量數(shù)學(xué)外,我們都設(shè)法使我們的Tangram難題栩栩如生,沒有J

外部與內(nèi)部CSS:最好的方法是什麼? 外部與內(nèi)部CSS:最好的方法是什麼? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 Jun 12, 2025 am 10:31 AM

CSSCounters是一種用於創(chuàng)建自動(dòng)編號(hào)的工具。 1.基本用法:通過counter-reset和counter-increment定義和操作計(jì)數(shù)器,如在h2前顯示"SectionX."。 2.高級(jí)用法:使用嵌套計(jì)數(shù)器創(chuàng)建複雜編號(hào),如章節(jié)和小節(jié)編號(hào)。 3.注意事項(xiàng):確保正確重置計(jì)數(shù)器,優(yōu)化性能,簡化計(jì)數(shù)器邏輯。 4.最佳實(shí)踐:命名清晰,在CSS中定義計(jì)數(shù)器,合理使用counter-increment和counter-reset。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。 1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

See all articles