CSS之動畫(奔跑的熊、兩面反轉盒子、3D導航欄、旋轉木馬)

一、 2D轉換

1.1? transform: translate( )
轉換(transform) 是CSS3中具有顛覆性的特征之一,可以實現元素的位移、旋轉、縮放等效果
移動:translate
旋轉:rotate
縮放:scale
下圖為2D轉換的坐標系
回憶:移動盒子位置的三種方法:1. margin 2.position? 3.2D轉換
注意:盒子經過變化后,本來擁有的位置也會進行保留。也不是說不會影響其他的元素
1.2. transform: translatex.?(50%)
移動的數值改為百分數則代表了盒子本身寬度乘50%。但是對于行內標簽無效。
//最簡單的實現盒子居中顯示效果的方法position:absolute;top: 50%;left: 50%;width: 100px;height: 100px;background-color: red;transform: translate(-50%,-50%);

1.3 旋轉

transform: translate(x deg)? ? ? ? ? ? ?x為正,則順時針旋轉。默認旋轉點是元素的中心位置

transform-origin:x y;? ? ? ? ? ? ?x y 可以是像素或者也可以是方位名詞top bottom left right

旋轉中心動畫案例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>.box{margin: 200px auto;width: 200px;height: 200px;background-color: pink;border: 1px solid black;overflow: hidden;}
.box::before{display: block;content: '溫教授講三農';width: 100%;height: 100%;background-color: hotpink;transform: rotate(180deg);transform-origin:left bottom;/* 誰做過渡給誰加 */
transition: all .7s;
}/* 鼠標經過div盒子盒子復原 */
.box:hover::before{transform: rotate(0deg);
}
</style>
<body><div class="box"></div>
</body>
</html>

1.4 Scale

transform: scale(x,y)? ? ? ? ? ? ? ? x軸變為x倍,y變y倍

transform:scale(2)? ? ? ? ? ? ? ? 寬、高都變成兩倍

scale的優勢:1. 可以設置縮放的中心點 2.不會影響其他的盒子

二、CSS動畫

動畫簡寫

前兩個屬性不可省略

奔跑的熊,舊百度瀏覽器

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>body{background-color: #ccc;}div{position: absolute;width: 200px;height: 100px;background: url(media/bear.png)no-repeat;animation: bear 1s steps(8) infinite,move 2s linear forwards;}@keyframes bear{0% {background-position: 0 0;}100% {background-position: -1600px 0;}}@keyframes move {0% {left: 0;}100% {left: 50%;margin-left: -100px;}}
</style>
<body><div></div>
</body>
</html>

?定義動畫

@keyframes 動畫名稱 {
0%{
width:100px;
} 
100%{
width:200px;
}
}/* 調用動畫 */
animation-name: 動畫名稱;
/* 持續時間 */
animation-duration: 持續時間;

動畫的常用屬性

動畫的簡寫形式:類似background

animation: myfirst 5s linear 2s infinite alternate;
前兩個一般不可以省略
三、3D動畫
動畫視角的三維坐標系
?
3D位移: translate3d(x,y,z)
?
3D旋轉: rotate3d(x,y,z)
?
透視: perspective
?
3D呈現 transfrom-style
帶有xyz的都不可以省略掉
可以使用左手定責來確定該向什么方向進行旋轉
3D導航欄項目代碼示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>*{padding: 0;margin: 0;}ul {margin: 100px;}ul li{width: 120px;height: 35px;list-style:none;perspective: 300px;}.box{position: relative;width: 100%;height: 100%;transform-style: preserve-3d;transition: all .6s;}.box:hover{transform: rotateX(90deg);}.front,.back{position: absolute;left: 0;top:0;width: 100%;height: 100%;}.front{background-color:pink;z-index: 1;transform: translateZ(17.5px);}.back{/* transform: rotateX('90deg'); */background-color: aquamarine;transform: translateY(17.5px) rotateX(-90deg);}
</style>
<body><ul><li><div class="box"><div class="front">韓愈文集1</div><div class="back">感二鳥賦</div></div></li></ul>
</body></html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>3D旋轉案例之旋轉木馬</title>
</head>
<style>body{perspective: 1200px;}section{position: relative;width: 500px;height: 300px;margin: 50px auto;transform-style: preserve-3d;animation: rotate 4s linear infinite;background: url(media/dezoomify-result\(50\).jpg) no-repeat;}@keyframes rotate{0%{transform: rotateY(0);}100%{transform: rotateY(360deg);}}section div{position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: url(media/dog.jpg) no-repeat;}section div:nth-child(1){transform: translateZ(300px);}section div:nth-child(2){transform: rotateY(60deg) translateZ(300px);}section div:nth-child(3){transform: rotateY(120deg) translateZ(300px);}section div:nth-child(4){transform: rotateY(180deg) translateZ(300px);}section div:nth-child(5){transform: rotateY(240deg) translateZ(300px);}section div:nth-child(6){transform: rotateY(300deg) translateZ(300px);}section div:nth-child(7){transform: rotateY(360deg) translateZ(300px);}
</style>
<body><section><div></div><div></div><div></div><div></div><div></div><div></div></section>
</body>
</html>

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

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

相關文章

【筆記】在 MSYS2(MINGW64)中安裝 python-maturin 的記錄

#工作記錄 &#x1f4cc; 安裝背景 操作系統&#xff1a;MSYS2 MINGW64當前時間&#xff1a;2025年6月1日Python 版本&#xff1a;3.12&#xff08;通過 pacman 安裝&#xff09;目標工具&#xff1a;maturin —— 用于構建和發布 Rust 編寫的 Python 包 &#x1f6e0;? 安裝…

基于微信小程序的垃圾分類系統

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業六年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了六年的畢業設計程序開發&#xff0c;開發過上千套畢業設計程序&#xff0c;沒有什么華麗的語言&#xff0…

工作日記之權限校驗-token的實戰案例

背景說明 我們組負責維護的一個系統&#xff0c;前端界面掛載在其他兩個系統上&#xff0c;因為歷史遺留原因&#xff0c;同時也掛在公網上&#xff0c;沒有登陸功能和用戶體系&#xff0c;只要輸入網址就能訪問&#xff0c;雖然這個系統是給公司內部人員使用&#xff0c;但是…

mysql雙主模式下基于keepalived的虛擬ip實現高可用模式搭建

數據庫安裝和升級和雙主配置的操作可以參考我的另一篇文章&#xff1a; 數據庫安裝和升級和雙主配置 1、在兩臺服務器都下載和安裝keepalived 下載&#xff1a; yumdownloader --resolve keepalived 下載后得到&#xff1a; [rootlocalhost keepalivedRpm]# ll 總用量 1896 …

展會聚焦丨漫途科技亮相2025西北水務博覽會!

2025第三屆西北水務數字化發展論壇暨供排水節水灌溉新技術設備博覽會在蘭州甘肅國際會展中心圓滿落幕。本屆展會以“科技賦能水資源&#xff0c;數智引領新動能”為主題&#xff0c;活動匯集水務集團、科研院所、技術供應商等全產業鏈參與者&#xff0c;旨在通過前沿技術展示與…

單調棧(打卡)

本篇基于b站靈茶山艾府。 下面是靈神上課講解的題目與課后作業&#xff0c;課后作業還有三道實在寫不下去了&#xff0c;下次再寫。 739. 每日溫度 給定一個整數數組 temperatures &#xff0c;表示每天的溫度&#xff0c;返回一個數組 answer &#xff0c;其中 answer[i] 是…

【機器學習基礎】機器學習入門核心算法:層次聚類算法(AGNES算法和 DIANA算法)

機器學習入門核心算法&#xff1a;層次聚類算法&#xff08;AGNES算法和 DIANA算法&#xff09; 一、算法邏輯二、算法原理與數學推導1. 距離度量2. 簇間距離計算&#xff08;連接標準&#xff09;3. 算法偽代碼&#xff08;凝聚式&#xff09; 三、模型評估1. 內部評估指標2. …

已有的前端項目打包到tauri運行(windows)

1.打包前端項目產生靜態html、css、js 我們接下來用vue3 vite編寫一個番茄鐘案例來演示。 我們執行npm run build 命令產生的dist目錄下的靜態文件。 2.創建tarui項目 npm create tauri-applatest一路回車&#xff0c;直到出現。 3.啟動運行 我們將打包產生的dist目錄下的…

Unity3D仿星露谷物語開發55之保存地面屬性到文件

1、目標 將游戲保存到文件&#xff0c;并從文件中加載游戲。 Player在游戲中種植的Crop&#xff0c;我們希望保存到文件中&#xff0c;當游戲重新加載時Crop的GridProperty數據仍然存在。這次主要實現保存地面屬性&#xff08;GridProperties&#xff09;信息。 我們要做的是…

Java面試:企業協同SaaS中的技術挑戰與解決方案

Java面試&#xff1a;企業協同SaaS中的技術挑戰與解決方案 面試場景 在一家知名互聯網大廠&#xff0c;面試官老王正在對一位應聘企業協同SaaS開發職位的程序員謝飛機進行技術面試。 第一輪提問&#xff1a;基礎技術 老王&#xff1a;謝飛機&#xff0c;你好。首先&#xf…

SQL注入速查表(含不同數據庫攻擊方式與差異對比)

1. 字符串連接 字符串連接是SQL注入中常用的操作&#xff0c;用于將多個字符串拼接為一個&#xff0c;以構造復雜的注入語句。不同數據庫的字符串連接語法存在顯著差異&#xff0c;了解這些差異有助于精準構造payload。 Oracle&#xff1a;使用||操作符進行字符串連接&#xf…

uni-data-picker級聯選擇器、fastadmin后端api

記錄一個部門及部門人員選擇的功能&#xff0c;效果如下&#xff1a; 組件用到了uni-ui的級聯選擇uni-data-picker 開發文檔&#xff1a;uni-app官網 組件要求的數據格式如下&#xff1a; 后端使用的是fastadmin&#xff0c;需要用到fastadmin自帶的tree類生成部門樹 &#x…

Mac電腦上本地安裝 redis并配置開啟自啟完整流程

文章目錄 一、安裝 Redis方法 1&#xff1a;通過源碼編譯安裝&#xff08;推薦&#xff09;方法 2&#xff1a;通過 Homebrew 安裝&#xff08;可選&#xff09; 二、配置 Redis1. 創建配置文件和數據目錄2. 修改配置文件 三、配置開機自啟1、通過 launchd 系統服務&#xff08…

wsl安裝linux

安裝wsl 啟用適用于 Linux 的 Windows 子系統 以管理員身份打開 PowerShell &#xff08;> PowerShell > 右鍵單擊 > 以管理員身份運行&#xff09; 并輸入以下命令&#xff0c;然后重啟 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsyste…

OpenGL 3D 編程

OpenGL 是一個強大的跨平臺圖形 API,用于渲染 2D 和 3D 圖形。以下是 OpenGL 3D 編程的入門基礎。 一. 環境設置 安裝必要的庫 GLFW: 用于創建窗口和處理輸入 GLEW 或 GLAD: 用于加載 OpenGL 函數 GLM: 數學庫,用于 3D 變換 // 基本 OpenGL 程序結構示例 #include <GL/g…

Android基于LiquidFun引擎實現軟體碰撞效果

一、實現效果 Android使用LiquidFun物理引擎實現果凍碰撞效果 二、Android代碼 // 加載liquidfun動態庫static {System.loadLibrary("liquidfun");System.loadLibrary("liquidfun_jni");}class ParticleData {long id;ParticleSystem particleSystem;float…

Redis持久化機制詳解:RDB與AOF的深度剖析

一、為什么需要持久化&#xff1f; Redis作為內存數據庫&#xff0c;數據存儲在易失性內存中。持久化機制解決兩大核心問題&#xff1a; 數據安全&#xff1a;防止服務器宕機導致數據丟失災難恢復&#xff1a;支持數據備份與快速重建 二、RDB&#xff1a;內存快照持久化 ? …

Netty學習example示例

文章目錄 simpleServer端NettyServerNettyServerHandler Client端NettyClientNettyClientHandler tcp&#xff08;粘包和拆包&#xff09;Server端NettyTcpServerNettyTcpServerHandler Client端NettyTcpClientNettyTcpClientHandler protocolcodecCustomMessageDecoderCustomM…

ThreadLocal ,底層原理,強引用,弱引用,內存泄漏

目錄 ThreadLocal的基本概念 底層實現原理 強引用與弱引用 內存泄漏問題 內存泄漏的解決方案 示例代碼 ThreadLocal的基本概念 ThreadLocal是Java中的一個類&#xff0c;位于java.lang包下&#xff0c;它提供了線程局部變量的功能。每個使用該變量的線程都有自己獨立的初…

TomSolver 庫 | config詳解及其測試

一、C 關鍵特性解析 1. enum class 強類型枚舉 enum class LogLevel { OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL }; enum class NonlinearMethod { NEWTON_RAPHSON, LM };核心特性&#xff1a; 類型安全&#xff1a;禁止隱式轉換為整數作用域限定&#xff1a;必須…