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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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;必须…