当前位置: 首页 > news >正文

css:过渡transition 、转换transform、动画animation

一、过渡效果:transition 属性

transition 属性是CSS3中用来实现元素过渡效果的属性之一。它定义了元素在不同状态之间平滑过渡的效果,让元素的改变更加流畅和动态。

transition 属性包括以下几个子属性:

  • transition-property:指定要过渡的CSS属性名称,可以使用通配符 all 表示所有属性都要过渡。
  • transition-duration:指定过渡的持续时间,单位可以是秒(s)或毫秒(ms)。
  • transition-timing-function:指定过渡的时间函数,用于控制过渡的速度曲线,常见的值有 easelinearease-inease-outease-in-out 等。
  • transition-delay:指定过渡的延迟时间,即过渡开始前等待的时间,单位可以是秒(s)或毫秒(ms)。

二、2D,3D转换效果:transform

“transform” 是一个 CSS 属性,可以用来对元素进行变形。它可以改变元素的位置、大小、方向和形状,以及应用旋转、缩放、倾斜和扭曲等效果。

下面是一些常用的 transform 属性值:

  • translate():平移元素的位置。它接受一个或两个参数,分别表示水平和垂直方向的偏移量。单位可以是像素、百分比或关键字(如translateX()translateY())。

  • scale():缩放元素的大小。它接受一个或两个参数,分别表示水平和垂直方向的缩放比例。如果只提供一个参数,则表示在两个方向上使用相同的缩放比例。

  • rotate():旋转元素。它接受一个参数,表示旋转的角度。角度可以是正负值,单位可以是度(deg)或弧度(rad)。

  • skew():倾斜元素。它接受一个或两个参数,分别表示水平和垂直方向的倾斜角度。角度可以是正负值,单位可以是度(deg)或弧度(rad)。

  • matrix():通过矩阵变换来实现复杂的变形效果。它接受六个参数,分别代表矩阵变换的各个元素。具体来说,第一个参数控制水平缩放、倾斜和旋转,第二个参数控制水平和垂直倾斜,第三个参数控制垂直缩放、倾斜和旋转,第四个参数控制水平和垂直位移,第五个和第六个参数控制透视效果。

示例

.element {/* 元素沿着X轴平移100像素,沿着Y轴平移100像素,即向右下方移动100像素。 */transform: translate(100px, 100px);/* 也可以分开写,只是达不到两个样式同时出现的效果*//* 沿X轴向右平移100像素 */transform: translateX(100px);/* 沿Y轴向下平移100像素 */transform: translateY(100px);
}.element {/* 在X轴和Y轴上均匀地缩小为原来的0.5倍 */transform: scale(0.5, 0.5);/* 也可以分开写,只是达不到两个样式同时出现的效果*//* 沿着X轴的缩放,将元素的宽度缩小到原来的一半 */transform: scaleX(0.5);/* 沿着Y轴的缩放,将元素的高度缩小到原来的一半 */transform: scaleY(0.5);
}.element {/* 将元素按照顺时针方向旋转45度,绕着自身的中心点进行旋转 */transform: rotate(45deg);/* 沿着X轴的旋转,使元素绕着X轴旋转45度 */transform: rotateX(45deg) rotateY(45deg);
}.element {/* 元素在X轴方向上沿顺时针方向斜切30度,在Y轴方向上沿逆时针方向。transform: skew(<x-angle>, <y-angle>); */transform: skew(30deg, -20deg);
}.element {/* 使用一个2D变换矩阵来对元素进行变换。这个矩阵包含六个值,按顺序分别表示缩放、倾斜和平移。 *//* transform: matrix(scaleX, skewY, skewX, scaleY, translateX, translateY); *//* scaleX和scaleY表示在X轴和Y轴上的缩放比例;skewX和skewY表示在X轴和Y轴上的倾斜角度(正值为顺时针,负值为逆时针);translateX和translateY表示在X轴和Y轴上的平移距离。 */transform: matrix(1, -0.2, 0, 1.5, 0, 0);/* 	在X轴方向上不进行缩放(scaleX为1)在Y轴方向上按1.5倍进行缩放(scaleY为1.5)在X轴方向上按逆时针倾斜0.2弧度(skewY为-0.2)在Y轴方向上不进行倾斜(skewX为0)不进行平移(translateX和translateY都为0) */
}

三、创建动画效果的属性:animation(@keyframes

animation 是 CSS 中用于创建动画效果的属性。它是一个复合属性,包含了多个子属性,在其中我们可以设置动画名称、持续时间、动画函数、延迟时间、重复次数、方向以及是否暂停等属性。

  • animation-name: 指定要应用到元素上的关键帧动画的名称。
  • animation-duration: 指定动画的持续时间,单位为秒或毫秒。
  • animation-timing-function: 指定动画变化的速度曲线,也称为缓动函数。
  • animation-delay: 指定动画开始之前的延迟时间,单位为秒或毫秒。
  • animation-iteration-count: 指定动画播放的次数,可以使用 infinite 表示无限循环。
  • animation-direction: 指定动画在每次重复时的播放方向,可以设置为 normal(正常),reverse(反转),alternate(交替)或 alternate-reverse(交替反转)。
  • animation-fill-mode: 指定动画播放前和播放后应用到元素上的样式,可以设置为 noneforwardsbackwards 或 both
  • animation-play-state: 指定动画的播放状态,可以设置为 running(运行中)或 paused(暂停)。

例子

<template><view id="my-element"></view>
</template>
<script>export default {data() {return {}},methods: {}};
</script>
<style>#my-element {animation: my-animation 2s ease-in-out 1s infinite alternate forwards;background-color:red;width:100rpx;height:100rpx;}@keyframes my-animation {0% {opacity: 0;transform: translateX(-100%);}50% {opacity: 1;transform: translateX(0);}100% {opacity: 0;transform: translateX(100%);}}
</style>

相关文章:

css:过渡transition 、转换transform、动画animation

一、过渡效果&#xff1a;transition 属性 transition 属性是CSS3中用来实现元素过渡效果的属性之一。它定义了元素在不同状态之间平滑过渡的效果&#xff0c;让元素的改变更加流畅和动态。 transition 属性包括以下几个子属性&#xff1a; transition-property&#xff1a;指…...

双边滤波算法及例程

双边滤波算法是一种非线性滤波技术&#xff0c;用于平滑图像并保留边缘细节。它在计算像素的平均值时考虑了两个因素&#xff1a;1&#xff09;空间域的距离和2&#xff09;灰度值之间的差异。 算法步骤如下&#xff1a; 定义一个窗口&#xff0c;包含待处理像素及其周围邻域…...

排序算法-希尔排序法(ShellSort)

排序算法-希尔排序法&#xff08;ShellSort&#xff09; 1、说明 我们知道当原始记录的键值大部分已排好序的情况下插入排序法非常有效&#xff0c;因为它不需要执行太多的数据搬移操作。希尔排序法是D.L.Shell在1959年7月发明的一种排序法&#xff0c;可以减少插入排序法中数…...

交通物流模型 | 基于自适应图卷积网络的轨道交通短时客流预测

随着城市化进程的发展和加快,城市轨道交通系统逐渐成长为一个大型网络,站点间的拓扑结构也变得越来越复杂,使得空间依赖性的捕捉变得越来越困难。多条线路的纵横交错使得站点间呈拓扑分布,传统的图卷积网络是基于先验知识生成的邻接矩阵实现的,无法反映站点之间的实际空间…...

2.1python 常用的三种数据类型_python量化实用版教程(初级)

python 常用的三种数据类型 在 Python 编程中&#xff0c;最常用的三种数据类型是字符串&#xff08;str&#xff09;、整数&#xff08;int&#xff09;和浮点数&#xff08;float&#xff09;。这些数据类型在编写程序时非常重要&#xff0c;因为它们允许我们存储和操作不同…...

C++游戏后端开发(魔兽世界,MMO,TrinityCore源码拆解) 教程

基于魔兽开源后端框架 TrinityCore 的技术拆解课程 一、TrinityCore CMake项目构建 1.1 CMake的使用 什么是CMake , CMake 的工作流程 CMakeLists.txt的编写规则 静态库生成以及链接 动态库生成以及链接 嵌套CMake 1.2 Windows和Linux下编 译调试环境搭建 cmake和grap…...

MySQL 之 死锁日志的查看和分析

MySQL死锁日志的查看和分析 查看死锁日志&#xff0c;优化sql和索引&#xff0c;加速数据库数据操作...

Docker运行docker中指定一个jar

目标&#xff1a; 在正在运行的一个docker容器中&#xff0c;容器的名字为 testimg&#xff0c;运行我们容器文件中我们放的一个jar包。例如&#xff1a;xiaobai.jar,并且在群晖的定时任务中&#xff0c;每分钟运行一次。 解决问题方案&#xff1a; 在群晖定时任务中运行指定…...

nodejs+vue家教管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1nodejs简介 4 2.2 express框架介绍 6 2.3 B/S结构 4 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性…...

vuex入门

文章目录 一、vuex简介1.1 概述1.2 核心 二、使用2.1 安装2.2 创建store模块2.3 在src/store/index.js中写入内容2.4.在src/main.js中导入并使用store实例2.5.在views新建vuex目录,添加Page1.vue和Page2.vue文件2.6.配置路由2.7.在LeftNav.vue添加内容 三、存取值3.1 state直接…...

交叉熵Loss多分类问题实战(手写数字)

1、import所需要的torch库和包 2、加载mnist手写数字数据集&#xff0c;划分训练集和测试集&#xff0c;转化数据格式&#xff0c;batch_size设置为200 3、定义三层线性网络参数w&#xff0c;b&#xff0c;设置求导信息 4、初始化参数&#xff0c;这一步比较关键&#xff0c;…...

如何看待Unity新的收费模式?(InsCode AI 创作助手)

Unity引擎是目前全球最受欢迎的3D游戏和应用开发引擎之一&#xff0c;按照Unity公司自己的说法&#xff0c;全球1000款畅销移动游戏中70%以上都使用了Unity引擎。如果统计全平台&#xff08;包括PC、主机和移动设备&#xff09;的情况&#xff0c;非官方数据是&#xff0c;超过…...

Android Studio git 取消本地 commit(未Push)

操作比较简单 1.选中项目然后依次选择&#xff1a;Git->Repository->Reset HEAD 2.然后再to Commit中输入HEAD^&#xff0c;表示退回到上一个版本。...

ViewModifier/视图修饰符, ButtonStyle/按钮样式 的使用

1. ViewModifier 视图修饰符 1.1 创建默认按钮视图修饰符 ViewModifierBootcamp.swift import SwiftUI/// 默认按钮修饰符 struct DefaultButtonViewModifier: ViewModifier{let bcakgroundColor: Colorfunc body(content: Content) -> some View {content.foregroundColor…...

科技资讯|微软AR眼镜新专利曝光,可拆卸电池解决续航焦虑

微软正在深入研究增强现实&#xff08;AR&#xff09;领域&#xff0c;最近申请了一项“热插拔电池”相关专利。该专利于 2023 年 10 月 5 日发布&#xff0c;描述了采用模块化设计的 AR 眼镜&#xff0c;热插拔电池放置在了镜腿部分&#xff0c;可以直接拿下替换&#xff0c;对…...

idea系列---【上一次打开springboot项目还好好的,现在打开突然无法启动了】

问题 昨天走的时候项目还能正常启动&#xff0c;今天来了之后突然报下面的错误&#xff1a; Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.1.16. 解决方案 点击 idea: Bui…...

查询资源消耗

import subprocess def get_cpu_usage(pid, duration): output subprocess.check_output([‘pidstat’, ‘-d’, ‘-p’, str(pid), ‘1’, str(duration)]).decode(‘utf-8’) lines output.strip().split(’\n’) cpu_usage [] for line in lines[4:]: fields line.spli…...

conda: error: argument COMMAND: invalid choice: ‘activate‘

参考:https://github.com/conda/conda/issues/13022 输入后重启terminal即可...

新鲜速递:Spring Cloud Alibaba环境在Spring Boot 3时代的快速搭建

了解 首先&#xff0c;Spring Cloud Alibaba使用的是Nacos作为服务注册和服务发现的中间件。 能力在提供者那里&#xff0c;而消费者只需知道提供者提供哪些服务&#xff0c;而无需关心提供者在哪里&#xff0c;实际调用过程如下图 准备工作 1、需要下载并安装Nacos最新版…...

网络-网络状态网络速度

文章目录 前言一、网络状态二、网络速度 前言 本文主要记录如何监听网络状态和网络速度。 一、网络状态 获取当前网络状态: navigator.onLine // true:在线 false:离线监听事件&#xff1a;online&#xff08;联网&#xff09; 和 offline&#xff08;断网&#xff09; windo…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...