亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
命名過渡時會發(fā)生什么?
構(gòu)建過渡效果集合
現(xiàn)在,讓我們慢下來一分鐘
讓我們保持過渡集合的靈活性
動態(tài)過渡
示例 1:根據(jù)答案更改過渡
示例 2:根據(jù)用戶交互更改過渡
示例 3:根據(jù)列表狀態(tài)更改過渡
首頁 web前端 css教程 VUE中指定過渡的力量

VUE中指定過渡的力量

Apr 21, 2025 am 09:32 AM

The Power of Named Transitions in Vue

Vue.js 提供多種方式控制元素或組件在插入DOM時如何視覺化呈現(xiàn),例如淡入、滑入或其他視覺效果。幾乎所有這些功能都基于單個組件:transition 組件。

一個簡單的例子是基于布爾值的 v-if。當(dāng)布爾值為真時,元素出現(xiàn);為假時,元素消失。通常,此元素會突然出現(xiàn)和消失,但使用 transition 組件,您可以控制視覺效果。

<transition><div v-if="isVisible">可見嗎?</div></transition>

許多文章都很好地介紹了 transition 組件,例如 Sarah Drasner、Nicolas Udy 和 Hassan Djirdeh 的文章。每篇文章都詳細(xì)介紹了 Vue transition 組件的不同方面。本文將重點介紹 transition 組件的一個方面:它們可以被“命名”。

<transition name="fade"><div v-if="isVisible">可見嗎?</div></transition>

此屬性帶來的初始變化是,在過渡序列期間注入到元素中的 CSS 類將以給定的名稱作為前綴?;旧?,它將是 fade-enter 而不是上面的 v-enter。此單個屬性的功能遠(yuǎn)不止此簡單的選項。它可以用來利用 Vue 和 CSS 的某些特性,從而產(chǎn)生一些有趣的結(jié)果。

另一個需要考慮的是,name 屬性可以綁定:

<transition :name="currentTransition"><div v-if="isVisible">可見嗎?</div></transition>

在此示例中,過渡將被命名為 currentTransition 解析到的值。此簡單的更改為應(yīng)用程序的動畫提供了另一層選項和功能。使用靜態(tài)和動態(tài)命名過渡,項目可以擁有一系列預(yù)構(gòu)建的過渡,準(zhǔn)備應(yīng)用于整個應(yīng)用程序,可以擴展應(yīng)用于它們的現(xiàn)有過渡的組件,切換在應(yīng)用之前或之后使用的過渡,允許用戶選擇過渡,并根據(jù)列表的當(dāng)前狀態(tài)控制列表的各個元素如何過渡到位。

本文旨在探討這些功能并解釋如何使用它們。

命名過渡時會發(fā)生什么?

默認(rèn)情況下,當(dāng)使用 transition 組件時,它會按照特定順序?qū)⑻囟悜?yīng)用于元素。這些類可以在 CSS 中使用。如果沒有 CSS,這些類實際上對元素沒有任何作用。因此,需要這種性質(zhì)的 CSS:

.v-enter,
.v-leave-to {
  opacity: 0;
}

.v-enter-active,
.v-leave-active {
  transition: 0.5s;
}

這會導(dǎo)致元素以半秒的持續(xù)時間淡入淡出。對過渡的微小更改為用戶提供了優(yōu)雅的視覺反饋。但是,仍然有一個問題需要考慮。但首先,命名過渡有什么不同?

.fade-enter,
.fade-leave-to {
  opacity: 0;
}

.fade-enter-active,
.fade-leave-active {
  transition: 0.5s;
}

基本上相同的 CSS,但使用 fade- 作為前綴而不是 v-。此命名解決了使用 transition 組件的默認(rèn)類名時可能發(fā)生的問題。v- 前綴實際上使類具有全局性,尤其是在將 CSS 放置在應(yīng)用程序根級別的樣式塊中時。這實際上將使整個應(yīng)用程序中*所有*沒有 name 屬性的過渡使用相同的過渡效果。對于小型應(yīng)用程序,這可能就足夠了,但在更大、更復(fù)雜的應(yīng)用程序中,這可能會導(dǎo)致不良的視覺效果,因為并非所有內(nèi)容都應(yīng)該在半秒內(nèi)淡入淡出。

命名過渡為開發(fā)人員在整個項目中提供了關(guān)于如何視覺化插入或刪除不同元素或組件的控制級別。建議所有過渡都命名——即使只有一個——以養(yǎng)成這樣做的習(xí)慣。即使應(yīng)用程序只有一個過渡效果,將來也可能需要添加一個新的過渡效果。在項目中已經(jīng)命名了現(xiàn)有的過渡,這簡化了添加新過渡的工作。

構(gòu)建過渡效果集合

命名過渡提供了一個簡單但非常有用的過程。一種常見的做法可能是將過渡類創(chuàng)建為使用它們的組件的一部分。如果完成了組件樣式的作用域的另一種常見做法,則這些類將僅對該特定組件可用。如果兩個不同的組件在其樣式塊中具有類似的過渡,那么我們只是在重復(fù)代碼。

因此,讓我們考慮將過渡的 CSS 保留在應(yīng)用程序根目錄的樣式塊中,通常是 app.vue 文件。在我的大多數(shù)項目中,我將它們放在樣式塊的最后一部分,以便于查找以進(jìn)行調(diào)整和添加。將 CSS 保存在此位置使過渡效果可用于整個應(yīng)用程序中 transition 組件的每次使用。以下是我的一些項目中的示例。

.fade-enter,
.fade-leave-to { opacity: 0; }
.fade-enter-active,
.fade-leave-active { transition: 0.5s; }

.slide-enter {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(400px, 0, 0);
}

.slide-enter-to { transform: scale3d(1, 1, 1); }
.slide-enter-active,
.slide-leave-active { transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.slide-leave { transform: scale3d(1, 1, 1); }

.slide-leave-to {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(-400px, 0, 0);
}

.rotate-enter { transform: perspective(500px) rotate3d(0, 1, 0, 90deg); }
.rotate-enter-active,
.rotate-leave-active { transition: 0.5s; }
.rotate-leave-to { transform: perspective(500px) rotate3d(0, 1, 0, -90deg); }

根據(jù)您的偏好和項目的需要,有多種方法可以存儲這些過渡類。第一個,如前所述,是將所有內(nèi)容都保存在 app.vue 文件的樣式塊中。您還可以將項目中所有過渡的 Sass 部分保存在項目的 assets 文件夾中,并將其導(dǎo)入到應(yīng)用程序的樣式塊中。

@import "assets/_transitions.scss";

此方法允許在 Vue 文件之外調(diào)整和添加過渡集合。此設(shè)置的另一個好處是,如果項目共享過渡效果,則可以輕松地在項目之間傳輸此類文件。如果一個項目獲得了一個新的過渡,那么很容易將添加的內(nèi)容傳輸?shù)搅硪粋€項目,而無需接觸主項目文件。

如果您使用的是 CSS 而不是 Sass,那么您可以將該文件作為項目的依賴項包含在內(nèi)。您可以通過將文件保存在項目的 assets 文件夾中并在 main.js 文件中放置一個 require 語句來實現(xiàn)此目的。

require("@/assets/transitions.css");

另一個選項是將過渡樣式保存在靜態(tài) CSS 文件中,該文件可以存儲在其他位置,或者在項目的 public 文件夾中,或者直接存儲在服務(wù)器上。由于這是一個常規(guī)的 CSS 文件,因此不需要構(gòu)建或部署——只需在 index.html 文件中包含一個鏈接引用即可。

<link href="/css/transitions.css" rel="stylesheet" type="text/css">

此文件還可以潛在地存儲在 CDN 中,供所有項目共享。每當(dāng)文件更新時,更改都會立即在所有引用它的位置可用。如果創(chuàng)建了一個新的過渡名稱,則現(xiàn)有項目可以根據(jù)需要開始使用新的名稱。

現(xiàn)在,讓我們慢下來一分鐘

當(dāng)我們構(gòu)建一個要在整個項目中使用的過渡集合時,讓我們考慮一下那些可能不希望動畫過于突然,或者根本不希望出現(xiàn)動畫的用戶。有些人可能會認(rèn)為我們的動畫過于夸張且不必要,但對某些人來說,它們實際上可能會導(dǎo)致問題。前段時間,WebKit 引入了 prefers-reduced-motion 媒體查詢來幫助解決可能的前庭頻譜障礙問題。Eric Bailey 還發(fā)布了對媒體查詢的很好的介紹。

在大多數(shù)情況下,將媒體查詢作為我們過渡集合的一部分非常容易,并且應(yīng)該考慮。我們可以減少過渡中涉及的運動量以減少負(fù)面影響,或者干脆關(guān)閉它們。

以下是我其中一個演示中的一個簡單示例:

.next-enter {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(400px, 0, 0);
}

.next-enter-to { transform: scale3d(1, 1, 1); }
.next-enter-active,
.next-leave-active { transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.next-leave { transform: scale3d(1, 1, 1); }

.next-leave-to {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(-400px, 0, 0);
}

/* 如果在操作系統(tǒng)級別減少動畫,則使用更簡單的過渡*/
@media screen and (prefers-reduced-motion: reduce) {
  .next-enter {
    opacity: 0;
    transform: translate3d(100px, 0, 0);
  }

  .next-enter-active,
  .next-leave-active { transition: 0.5s; }

  .next-leave-to {
    opacity: 0;
    transform: translate3d(-100px, 0, 0);
  }
}

在這個例子中,我采用了一個相當(dāng)夸張的過渡,并使其更簡單。動畫是一個向左移動的滑動動畫,具有彈性緩動效果,然后在移開時縮小并淡出。如果某人的減少運動偏好已設(shè)置,則動畫將成為一個更簡單的過渡,距離更短(這使其速度更慢)并保持淡出效果。如果我們想關(guān)閉它們,那么我們只需要引用具有 transition 屬性的類并將它們的值設(shè)置為 none 即可。

要測試這一點,需要在您各自的操作系統(tǒng)上找到并選擇一個復(fù)選框。在 Windows 上,您可以在<kbd>控制面板 > 易于訪問中心 > 使計算機更容易查看</kbd>部分找到它;查找“關(guān)閉所有不必要的動畫(如果可能)”。在 Mac 上,請查看<kbd>系統(tǒng)偏好設(shè)置 > 輔助功能 > 顯示</kbd>;查找“減少運動”。最新的 iOS 設(shè)備在<kbd>輔助功能</kbd>下也有類似的設(shè)置。

讓我們保持過渡集合的靈活性

有了這個過渡集合,可能會出現(xiàn)缺乏靈活性的問題。例如,如果一個元素需要稍微慢一點的淡出時間怎么辦?假設(shè)效果中的其他所有內(nèi)容都可以保持不變,只需要更改 transition-duration。有一些方法可以進(jìn)行調(diào)整,而無需創(chuàng)建全新的過渡名稱。

最簡單的方法是直接在 transition 組件內(nèi)的元素上使用內(nèi)聯(lián)樣式。

<transition name="fade"><div style="transition-duration: 6s;" v-if="isVisible">這有不同的持續(xù)時間</div></transition>

可以通過 Vue 提供的各種處理樣式和類的方法來完成此類更改。

假設(shè)您正在使用具有 is 屬性的組件元素來進(jìn)行動態(tài)組件,例如:

<transition mode="out-in" name="fade"><component :is="currentComponent"></component></transition>

即使使用此動態(tài)組件,我們也有選項可以調(diào)整過渡效果的屬性。同樣,我們可以在組件元素上應(yīng)用內(nèi)聯(lián)樣式,該樣式將放置在組件的根元素上。根元素也接收過渡類,因此我們將直接覆蓋其屬性。

<transition mode="out-in" name="fade"><component :is="currentComponent" style="transition-duration: 6s;"></component></transition>

另一個選項是將道具傳遞給我們的組件。這樣,就可以通過組件的代碼將其所需的更改應(yīng)用于其根元素。

<transition mode="out-in" name="fade"><component :is="currentComponent" duration="6s"></component></transition>
<template><div :style="`transition-duration: ${duration}`">組件一</div></template>
<script>
export default {
  name: "component-one",
  props: {
    duration: String
  }
};
</script>

我們還可以覆蓋組件樣式塊內(nèi)部的過渡類的屬性,尤其是在其作用域內(nèi)時。

.fade-enter-active,
.fade-leave-active { transition-duration: 1s; }

在這種情況下,組件的淡出持續(xù)時間將為一秒,而不是全局持續(xù)時間半秒。我們甚至可以更進(jìn)一步,為序列的每一側(cè)設(shè)置不同的持續(xù)時間。

.fade-enter-active { transition-duration: 1s; }
.fade-leave-active { transition-duration: 2s; }

根據(jù)需要,可以在組件內(nèi)更改任何全局過渡類。盡管這不如在類結(jié)構(gòu)之外更改屬性靈活,但在某些情況下它仍然非常有用。

如您所見,即使使用我們的預(yù)構(gòu)建過渡集合,我們?nèi)匀豢梢赃x擇靈活性。

動態(tài)過渡

即使在我們使用 Vue 的 transition 組件可以完成所有這些有趣的事情之后,另一個有趣的特性仍在等待探索。transition 組件上的 name 屬性可以是動態(tài)的,這意味著我們可以隨意更改當(dāng)前使用的過渡。

這意味著可以根據(jù)代碼中的不同情況更改過渡以具有不同的動畫效果。例如,我們可以根據(jù)問題的答案更改過渡,根據(jù)用戶交互決定過渡,并讓列表根據(jù)列表本身的當(dāng)前狀態(tài)使用不同的過渡。

讓我們研究這三個例子。

示例 1:根據(jù)答案更改過渡

在此示例中,我們有一個簡單的數(shù)學(xué)問題需要解答。隨機選擇兩個數(shù)字,我們應(yīng)該提供它們的和。然后單擊按鈕以將答案與預(yù)期答案進(jìn)行比較。方程式上方會出現(xiàn)一個小通知,指示答案是真還是假。如果答案正確,則通知會提供一個建議點頭表示肯定的上下動畫的過渡。如果您的答案不正確,則通知會左右移動,表示搖頭否定。

其背后的邏輯并不復(fù)雜,transition 的設(shè)置也不復(fù)雜。這是 HTML:

<transition :name="currentTransition"><div v-if="answerChecked">{{ response }}</div></transition>

性質(zhì)相當(dāng)簡單。我們在 transition 上有一個綁定的 name,然后在 notification div 上有一個 v-if。我們還應(yīng)用了一個真或假類來根據(jù)響應(yīng)裝飾通知。

以下是過渡的 CSS:

.positive-enter-active { animation: positive 1s; }
@keyframes positive {
  0% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(0, -20px, 0); }
  50% { transform: translate3d(0, 20px, 0); }
  75% { transform: translate3d(0, -20px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

.negative-enter-active { animation: negative 1s; }
@keyframes negative {
  0% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(-20px, 0, 0); }
  50% { transform: translate3d(20px, 0, 0); }
  75% { transform: translate3d(-20px, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

您會看到我正在使用 CSS 動畫來實現(xiàn)上下和左右效果。

以下是一些 JavaScript 代碼:

methods: {
  randomProblem: function () {
    this.a = Math.floor(Math.random() * Math.floor(10));
    this.b = Math.floor(Math.random() * Math.floor(10));
  },
  check: function () {
    this.response = this.a   this.b === parseInt(this.answer);
    this.answerChecked = true;
    this.currentTransition = this.response ? 'positive' : 'negative';
  },
  reset: function () {
    this.answer = null;
    this.answerChecked = false;
    this.randomProblem();
  }
}

這里有 randomProblem 方法來設(shè)置我們的方程式。check 方法根據(jù)將提供的答案與正確答案進(jìn)行比較來決定使用哪個過渡效果。然后是簡單的 reset 方法,它只是重置所有內(nèi)容。

這只是一個簡單的例子。另一個可能的例子是,根據(jù)通知是否重要而具有兩種不同效果的通知。如果消息不太重要,那么我們可以使用一個微妙的動畫,不會讓用戶的眼睛離開當(dāng)前的任務(wù)。如果它很重要,我們可以使用更直接的動畫來強制眼睛向上看通知。

示例 2:根據(jù)用戶交互更改過渡

我們可以構(gòu)建的另一個東西是某種輪播。這可能是幻燈片演示、圖片庫或一系列說明?;舅枷胧俏覀冃枰错樞蛳蛴脩舫尸F(xiàn)信息。在此演示中,用戶可以決定何時繼續(xù)以及是向前移動還是向后移動。

這同樣是一個相當(dāng)簡單的設(shè)置。這個例子或多或少是一個幻燈片演示類型的情況。底部的兩個按鈕在具有滑動過渡的兩個組件之間切換。一個真正的項目將有更多組件,或者可能更改組件內(nèi)容的邏輯,這取決于當(dāng)前的幻燈片。此示例將保持簡單,以演示該想法。

這是 HTML:

<transition :name="currentTransition" mode="out-in"><component :is="slides[currentSlide]"></component></transition>

您會看到,每當(dāng)通過組件元素上的綁定 is 屬性切換組件時,我們都只是進(jìn)行過渡。

這是 CSS:

.next-enter {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(400px, 0, 0);
}

.next-enter-to { transform: scale3d(1, 1, 1); }
.next-enter-active,
.next-leave-active { transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.next-leave { transform: scale3d(1, 1, 1); }

.next-leave-to {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(-400px, 0, 0);
}

.prev-enter {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(-400px, 0, 0);
}

.prev-enter-to { transform: scale3d(1, 1, 1); }
.prev-enter-active,
.prev-leave-active { transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.prev-leave { transform: scale3d(1, 1, 1); }

.prev-leave-to {
  opacity: 0;
  transform: scale3d(2, 0.5, 1) translate3d(400px, 0, 0);
}

/* 如果在操作系統(tǒng)級別減少動畫,則使用更簡單的過渡*/
@media screen and (prefers-reduced-motion: reduce) {
  .next-enter { opacity: 0; transform: translate3d(100px, 0, 0); }
  .next-enter-active,
  .next-leave-active { transition: 0.5s; }
  .next-leave-to { opacity: 0; transform: translate3d(-100px, 0, 0); }

  .prev-enter { opacity: 0; transform: translate3d(-100px, 0, 0); }
  .prev-enter-active,
  .prev-leave-active { transition: 0.5s; }
  .prev-leave-to { opacity: 0; transform: translate3d(100px, 0, 0); }
}

在這里,我們有兩個過渡,一個用于用戶單擊“next”按鈕時,另一個用于“prev”按鈕。每個都基本上使用 transform 屬性在適當(dāng)?shù)姆较蛏匣瑒咏M件,但有一些額外的內(nèi)容可以創(chuàng)建一種擠壓效果,以獲得卡通效果。我們還使用 prefers-reduced-motion 將動畫更改為更簡單的淡出效果,并在適當(dāng)?shù)姆较蛏仙晕⒒瑒右幌隆?/p>

現(xiàn)在,對于 JavaScript:

methods: {
  changeSlide: function (dir) {
    this.currentSlide = dir === 'next' ? this.currentSlide   1 : this.currentSlide - 1;
    this.currentTransition = dir;
  }
}

每個按鈕在其單擊事件上調(diào)用 changeSlide 方法并傳遞它所代表的方向。然后我們有一些邏輯來跟蹤當(dāng)前的幻燈片是什么。單行代碼控制使用哪個過渡。由于“next”按鈕將“next”作為方向傳遞,因此它對應(yīng)于 CSS 中的“next”過渡。對于“prev”按鈕也是如此。每次用戶單擊按鈕時,應(yīng)用程序都會自動知道要使用哪個過渡。因此,我們有很好的過渡效果,可以提供關(guān)于用戶在序列中前進(jìn)的方向的上下文。

示例 3:根據(jù)列表狀態(tài)更改過渡

對于我們的最后一個示例,我們將了解如何根據(jù) transition-group 組件內(nèi)列表的當(dāng)前狀態(tài)更改過渡。這里的想法是一個列表,每次更新一個項目,每次使用不同的過渡。

在此示例中,我們在右側(cè)顯示城市列表,在左側(cè)顯示空白列表。當(dāng)在右側(cè)選擇城市時,它們會填充左側(cè)的空白。第一個城市從上方滑入,同時淡入視圖。最后一個城市之前的下一個城市將從右側(cè)或左側(cè)滑入,具體取決于之前的過渡,最后一個城市從下方滑入。

這是 HTML:

<transition-group :name="currentListTransition" tag="ul"><li :key="item" v-for="(item, index) in selectedItems">{{ item }}</li></transition-group>

像往常一樣,一個相當(dāng)簡單的設(shè)置。以下是 CSS 中的過渡:

.top-enter-active,
.top-leave-active { transition: 0.5s; }
.top-enter,
.top-leave-to {
  opacity: 0;
  transform: translate3d(0, -40px, 0);
}

.top-move {
  opacity: 0.5;
  transition: 0.5s;
}

.left-enter-active,
.left-leave-active { transition: 0.5s; }
.left-enter,
.left-leave-to {
  opacity: 0;
  transform: translate3d(-40px, 0, 0);
}

.left-move {
  opacity: 0.5;
  transition: 0.5s;
}

.right-enter-active,
.right-leave-active { transition: 0.5s; }
.right-enter,
.right-leave-to {
  opacity: 0;
  transform: translate3d(40px, 0, 0);
}

.right-move {
  opacity: 0.5;
  transition: 0.5s;
}

.bottom-enter-active,
.bottom-leave-active { transition: 0.5s; }
.bottom-enter,
.bottom-leave-to {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}

.bottom-move {
  opacity: 0.5;
  transition: 0.5s;
}

/* 如果在操作系統(tǒng)級別減少動畫,則關(guān)閉過渡*/
@media screen and (prefers-reduced-motion: reduce) {
  .top-enter-active,
  .top-leave-active { transition: none; }
  .top-move { transition: none; }
  .left-enter-active,
  .left-leave-active { transition: none; }
  .left-move { transition: none; }
  .right-enter-active,
  .right-leave-active { transition: none; }
  .right-move { transition: none; }
  .bottom-enter-active,
  .bottom-leave-active { transition: none; }
  .bottom-move { transition: none; }
}

如您所見,每個可能的城市方向在空白列表中出現(xiàn)都有一個過渡。

現(xiàn)在,對于我們的 JavaScript:

methods: {
  chooseCity: function (index) {
    let selectedLength = this.selectedItems.length;
    let citiesLength = this.cities.length;
    let clt = this.currentListTransition;

    if (selectedLength === 0) {
      clt = 'top';
    } else if (selectedLength > 0 && selectedLength 
<p><code>chooseCity</code> 方法處理選擇每個城市時發(fā)生的情況。我們主要關(guān)心的是方法中間的一系列 <code>if</code> 和 <code>if/else</code> 語句。當(dāng)選擇城市時,邏輯會查看最終將選定城市推入的 <code>selectedItems</code> 數(shù)組的當(dāng)前長度。如果長度為零,則那是第一個城市,因此過渡應(yīng)該使其從頂部進(jìn)入。如果長度在零和城市列表的總數(shù)之間,則過渡應(yīng)該是向右或向左。使用的新方向基于先前過渡方向的方向。然后,最后,如果我們選擇最后一個城市,它將更改為底部過渡。同樣,我們使用 <code>prefers-reduced-motion</code>,在這種情況下完全關(guān)閉過渡。</p>
<p>更改列表過渡的另一個選項是根據(jù)所選項目的類型進(jìn)行更改;例如,東海岸與西海岸城市,每個城市都有不同的過渡??紤]根據(jù)添加到列表中的當(dāng)前項目數(shù)量更改過渡;例如,每五個項目一個不同的過渡。</p>
<h3>再見,感謝所有過渡</h3>
<p>在所有這些示例和想法之后,我希望您會在您自己的項目中考慮利用 Vue 的 transition 組件。探索向您的應(yīng)用程序添加過渡和動畫的可能性,為您的用戶提供上下文和興趣。在許多情況下,此類添加非常容易實現(xiàn),幾乎到了不添加它們是一種遺憾的地步。Vue 提供了一個令人興奮且非常有用的開箱即用的功能,即 transition 組件,我只能鼓勵使用它。</p>
<p>干杯。</p>

以上是VUE中指定過渡的力量的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實現(xiàn)簡單動畫;2.使用多個點的自定義旋轉(zhuǎn)器,通過不同延遲時間實現(xiàn)跳動效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強調(diào)了設(shè)計細(xì)節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異并合理使用廠商前綴。1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動畫表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動添加前綴;5.安裝PostCSS并配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時自動處理兼容性;7.老項目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo??ntalpadding/margins—idealforinlinetextstyling

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無需依賴圖片或SVG。其優(yōu)勢包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動端;3.易于動畫化,可結(jié)合hover或JavaScript實現(xiàn)動態(tài)效果;4.不影響布局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗,尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出于隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標(biāo)識。

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控制圖片裁剪與焦點展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

什么是常見的CSS瀏覽器不一致? 什么是常見的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計算方式、Flexbox和Grid布局支持程度及某些CSS屬性行為不一致。1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測試并使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse并提供降級

揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決于設(shè)計需求和響應(yīng)式要求。1.px用于固定尺寸,適合精確控制但缺乏彈性;2.em是相對單位,受父元素影響易導(dǎo)致級聯(lián)問題,rem則基于根元素更穩(wěn)定,適合全局縮放;3.vw/vh基于視口大小,適合響應(yīng)式設(shè)計,但需注意極端屏幕下的表現(xiàn);4.選擇時應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級關(guān)系及視口依賴程度來決定,合理搭配使用可提升布局靈活性與維護(hù)性。

See all articles