CSS元素動畫篇:基于當前位置的變換動畫(二)

基于當前位置的變換動畫(二)

  • 前言
  • 旋轉效果類元素動畫
    • 搖擺動畫效果
      • 效果預覽
      • 代碼實現
    • 搖晃動畫效果
      • 效果預覽
      • 代碼實現
    • 螺旋旋轉
      • 效果預覽
      • 代碼實現
  • 結語

前言

CSS元素動畫一般分為兩種:一種是元素基于當前位置的變換動畫,通過不明顯的位移、縮放等方式,實現動畫效果,如彈跳、閃爍、抖動等;另一種是元素基于頁面位置的變換動畫,通過位移、旋轉等方式,實現動畫效果,如飛入/飛出等。
基于當前位置的變換動畫,我又將根據動畫實現效果將其分為4類:

  1. 位移效果類:通過不明顯的位移,實現元素動畫效果,如:水平抖動、垂直抖動等。
  2. 旋轉效果類:通過小幅度旋轉,實現元素動畫效果,如元素搖擺、搖晃等。
  3. 縮放效果類:通過縮放,實現元素動畫效果,如脈沖效果、呼吸效果、心跳效果等。
  4. 透明度效果類:通過改變元素透明度,實現元素動畫效果,如閃爍效果。

在上一篇文章中,我們介紹了 位移效果類的相關元素動畫效果與代碼實現 ,本篇文章將介紹旋轉效果類的相關元素動畫效果與代碼實現。

旋轉效果類元素動畫

搖擺動畫效果

搖擺動畫效果:通過旋轉元素模擬鐘擺的搖擺效果,其效果圖如下所示:

效果預覽

搖擺動畫

代碼實現

<style>
/* 搖擺動畫效果 */
@keyframes swing {/* 元素開始和結束位置不變 */0%,100% {transform: rotate(0deg);}/* 左右交替旋轉,旋轉角度逐漸變小 */20% {transform: rotate(15deg);}40% {transform: rotate(-10deg);}60% {transform: rotate(5deg);}80% {transform: rotate(-5deg);}
}
.swing {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.swing:hover {animation: swing 1s 1 ease-in-out;
}
</style><body><span class="swing">搖擺動畫</span>
</body>

搖晃動畫效果

搖晃動畫效果:通過位移和旋轉組合,模擬搖晃效果,其效果圖如下所示:

效果預覽

搖擺動畫

代碼實現

<style>
/* 搖晃動畫效果 */
@keyframes wobble {/* 元素開始和結束位置不變 */0%, 100% {transform: translate(0, 0);}/* 左右交替旋轉,角度逐漸變小 */15% {transform: translateX(-25%) rotateX( -5deg);}30% {transform: translateX(20%) rotateX( 3deg);}45% {transform: translateX(-15%) rotateX(-3deg);}60% {transform: translateX(10%) rotateX( 2deg);}75% {transform: translateX(-5%) rotateX(-1deg);}
}
.wobble {display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.wobble:hover {animation: wobble 1s 1 ease-in-out;
}
</style><body><span class="wobble">搖晃動畫</span>
</body>

螺旋旋轉

螺旋旋轉效果:元素360°旋轉并縮放,創建出動態的螺旋運動,其效果圖如下所示:

效果預覽

螺旋旋轉

代碼實現

<style>
/* 螺旋旋轉效果 */
@keyframes spiral {0% {transform: rotate(0deg) scale(1);}50% {transform: rotate(180deg) scale(0.5);}100% {transform: rotate(360deg) scale(1);}
}
.spiral {padding: 100px 200px;display: inline-block;height: 100px;font-size: 100px;font-weight: bold;
}
.spiral:hover {animation: spiral 2s linear 1;
}
</style><body><span class="spiral">螺旋旋轉</span>
</body>

結語

本文主要介紹了幾種常見的旋轉效果類元素動畫,你還知道哪些旋轉效果類元素動畫?歡迎在評論區留言分享!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78664.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78664.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78664.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt/C++開發監控GB28181系統/設備注冊/設備注銷/密碼認證/心跳保活/校時

一、前言 根據gb28181協議文檔&#xff0c;第一步就是需要實現設備的注冊&#xff0c;和onvif不同&#xff0c;gb是反過來的&#xff0c;設備端主動連接服務端&#xff0c;而onvif是服務端主動發出搜索&#xff0c;設備被動應答&#xff0c;包括后續的交互幾乎都是被動應答&am…

MATLAB 中的圖形繪制

一、線圖 plot 函數用來創建x和y值的簡單線圖。 x 0 : 0.05 : 30; %從0到30&#xff0c;每隔0.05取一次值 y sin(x); plot(x,y,LineWidth,2) %若&#xff08;x&#xff0c;y&#xff0c;LineWidth&#xff0c;2&#xff09;可變粗 xlabel("橫軸標題") ylab…

go語言八股文(五)

1.go的局部變量是分配在棧上還是在堆上 在Go語言中&#xff0c;局部變量的內存分配&#xff08;棧或堆&#xff09;由編譯器基于逃逸分析&#xff08;escape analysis&#xff09;來決定。以下是總結和具體示例&#xff1a; 棧上分配 當局部變量的生命周期嚴格限定在函數作用…

Gradients of Matrix-Matrix Multiplication in Deep Learning

Gradients of Matrix-Matrix Multiplication in Deep Learning 1. Matrix multiplication2. Derivation of the gradients2.1. Dimensions of the gradients2.2. The chain rule2.3. Derivation of the gradient ? L ? A \frac{ {\partial L} }{ {\partial \boldsymbol {\bo…

Spring Boot 框架簡介

? Spring Boot 框架簡介 1?? &#x1f680; 快速構建 Spring Boot 能夠快速構建可直接運行的、企業級 Spring 應用。 2?? ?? “約定優于配置” 該框架采用"約定優于配置"理念&#xff0c;默認集成 Spring 平臺與主流第三方庫&#xff0c;開發者僅需簡單配置…

【Robocorp實戰指南】Python驅動的開源RPA框架

目錄 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊說明技術選型對比 二、實戰演示環境配置要求核心代碼實現案例1&#xff1a;網頁數據抓取案例2&#xff1a;Excel報表生成 運行結果驗證 三、性能對比測試方…

如何使用 Spring Boot 實現分頁和排序:配置與實踐指南

在現代 Web 應用開發中&#xff0c;分頁和排序是處理大量數據時提升用戶體驗和系統性能的關鍵功能。Spring Boot 結合 Spring Data JPA 提供了簡單而強大的工具&#xff0c;用于實現數據的分頁查詢和動態排序&#xff0c;廣泛應用于 RESTful API、后臺管理系統等場景。2025 年&…

使用 LLM助手進行 Python 數據可視化

在數據科學中&#xff0c;數據可視化是一項至關重要的任務&#xff0c;旨在揭示數據背后的模式和洞察&#xff0c;并向觀眾傳達這些信息。然而&#xff0c;在編程語言&#xff08;如 Python&#xff09;中創建有洞察力的圖表有時可能會耗時且復雜。本文介紹了一種借助 AI 助手&…

RASP技術是應用程序安全的“保護傘”

對于企業組織而言&#xff0c;隨著新技術的不斷涌現&#xff0c;企業在應用程序和數據安全方面也面臨著諸多挑戰。之所以如此&#xff0c;是因為常見的保護措施&#xff0c;如入侵防御系統和Web應用程序防火墻&#xff0c;有助于檢測和阻止網絡層的攻擊&#xff0c;但它們無法看…

安卓基礎(接口interface)

??1. 接口的定義與實現?? ??(1) 定義接口?? // 定義一個 "動物行為" 的接口 public interface Animal {void eat(); // 抽象方法&#xff08;無實現&#xff09;void sleep(); // 抽象方法&#xff08;無實現&#xff09;// Java 8 默認方法&#…

Linux0.11內存管理:相關代碼

ch13_2 源碼分析 boot/head.s 頁表初始化&#xff1a; 目標&#xff1a;初始化分頁機制&#xff0c;將線性地址空間映射到物理內存&#xff08;前 16MB&#xff09;&#xff0c;為保護模式下的內存管理做準備。核心流程 分配頁目錄表和頁表的物理內存空間&#xff08;通過 .…

【Redis】set類型

目錄 1、介紹2、底層實現【1】整數集合【2】哈希表 3、常用指令 1、介紹 Redis的set集合類型是一種無序且元素唯一的數據結構&#xff0c;支持高效的成員判斷、集合運算和隨機訪問。 2、底層實現 【1】整數集合 適用場景 當集合中所有的元素都是整數&#xff0c;且元素數量…

web技術與nginx網站環境部署

一&#xff1a;web基礎 1.域名和DNS 1.1域名的概念 網絡是基于TCP/IP協議進行通信和連接的,每一臺主機都有一個唯一的標識(固定的IP地址)&#xff0c;用以區別在網絡上成千上萬個用戶和計算機。網絡在區分所有與之相連的網絡和主機時&#xff0c;均采用一種唯一、通用的地址…

LeetCode【劍指offer】系列(動態規劃篇)

劍指offer10-I.斐波那契數列 題目鏈接 題目&#xff1a;斐波那契數&#xff08;通常用F(n)表示&#xff09;形成的序列稱為斐波那契數列 。該數列由 0 和 1 開始&#xff0c;后面的每一項數字都是前面兩項數字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(…

JVM 內存分配策略

引言 在 Java 虛擬機&#xff08;JVM&#xff09;中&#xff0c;內存分配與垃圾回收是影響程序性能的核心機制。內存分配的高效性直接決定了對象創建的速率&#xff0c;而垃圾回收策略則決定了內存的利用率以及系統的穩定性。為了在復雜多變的應用場景中實現高效的內存管理&am…

【二分查找】尋找峰值(medium)

6. 尋找峰值&#xff08;medium&#xff09; 題?描述&#xff1a;解法?&#xff08;?分查找算法&#xff09;&#xff1a;算法思路&#xff1a;C 算法代碼&#xff1a;Java 算法代碼&#xff1a; 題?鏈接&#xff1a;162. 尋找峰值 題?描述&#xff1a; 峰值元素是指其值…

MongoDB與PHP7的集成與優化

MongoDB與PHP7的集成與優化 引言 隨著互聯網技術的飛速發展,數據庫技術在現代軟件開發中扮演著越來越重要的角色。MongoDB作為一種流行的NoSQL數據庫,以其靈活的數據模型和強大的擴展性受到眾多開發者的青睞。PHP7作為當前最流行的服務器端腳本語言之一,其性能和穩定性也得…

【GIT】github中的倉庫如何刪除?

你可以按照以下步驟刪除 GitHub 上的倉庫&#xff08;repository&#xff09;&#xff1a; &#x1f6a8; 注意事項&#xff1a; ??刪除倉庫是不可恢復的操作&#xff0c;所有代碼、issue、pull request、release 等內容都會被永久刪除。 &#x1f9ed; 刪除 GitHub 倉庫步驟…

焊接機排錯

焊接機 一、前定位后焊接 兩個機臺&#xff0c;①極柱定位&#xff0c;相機定位所有極柱點和mark點&#xff1b;②焊接機&#xff0c;相機定位mark點原理&#xff1a;極柱定位在成功定位到所有極柱點和mark點后&#xff0c;可以建立mark點和極柱點的關系。焊接機定位到mark點…

認識和使用Vuex-案例

集中管理共享的數據&#xff0c;易于開發和后期維護&#xff1b;能夠高效的實現組件之間的數據共享&#xff0c;提高開發效率&#xff1b;存儲在Vuex的數據是響應式的&#xff0c;能夠實時保持頁面和數據的同步&#xff1b; 安裝Vuex依賴包 npm install vuex --save導入包 im…