CSS transition 过渡

news2025/1/16 18:51:56

1 前言

CSS过渡(transition)可以在一个元素切换到另一种状态时为其定义平滑的过渡效果。

例如,用户鼠标悬停在按钮上时,按钮颜色平滑的从一个颜色过渡到另一个颜色。

.btn:hover{
    background-color: red;
    color: black;
}

默认悬停效果

动画

添加过渡效果

.btn{
    transition-duration: 0.8s;
    transition-timing-function: ease;
}

动画

transition是transition-property、transition-duration、transition-timing-function、transition-delay的简写属性。

下面来一一介绍这些属性。

2 transition-property

这个属性指定应用过渡效果的属性名。

它有以下取值:

  • all:默认值,表示过渡效果应用到所有可过渡的属性上。
  • none:没有过渡动画。
  • <property-name>:指定应用过渡效果的属性名,你可以指定多个值,使用逗号分隔。
  • initial:重置为初始值。
  • unet:重置为默认值。

3 transition-duration

过渡周期,过渡效果的持续时间。

默认值为0s,即没有过渡效果。

属性值以秒或毫秒为单位,像transition-property一样,你也可以设置多个值,它们会自动对应transition-property指定的属性名。

如果时间周期数小于过渡属性数,那么周期数会重复应用;如果时间周期数大于过渡属性数,那么时间周期数多余的部分被忽略。

4 transition-timing-function

过渡效果的时间函数,决定了动画变化速度。

image-20230901204205527

下面是它的属性值介绍。

1)ease

默认值。

过渡在开始时速度较慢,中间时加速,结束时减速。

2)ease-in

过渡开始时速度较慢,然后逐渐加速。

3)ease-out

开始时速度较快,然后逐渐减速。

4)ease-in-out

过渡开始和结束时速度较慢,中间时速度较快。相比于ease更加平滑。

5)linear

过渡速度恒定,没有加速或减速,呈线性变化。

6)step-start

在过渡的开始时立即跳到结束状态。

7)step-end

在过渡的结束时立即跳回开始状态。

8)steps函数

例如steps(4,jump-end)表示将过渡划分为4步,每一步结束时立即跳到结束状态。

第二个参数有以下值:

  • jump-start:在每一步开始时立即跳到结束状态。
  • jump-end:在每一步结束时立即跳到结束状态。
  • jump-none:没有跳跃,过渡效果平滑进行。
  • jump-both:在每一步的开始和结束时都立即跳到结束状态。

9)cubic-bezier函数

image-20230901204417462

接受四个参数,分别定义了时间曲线上的两个控制点。

这四个参数的取值范围是从0到1之间。

这四个参数的组合决定了贝塞尔曲线的形状,从而影响了过渡效果的速度和变化。

你可以使用在线的贝塞尔曲线生成器来可视化和调整这些参数。

5 transition-delay

过渡之前需要等待的时间。

6 移动小球Demo

动画

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>移动小球Demo</title>
    <style>
        body {
            margin: 0;
            padding: 0;
        }
        .ball{
            position: absolute;
            width: 50px;
            height: 50px;
            border-radius: 50px;
            background-color: red;
            transition:all  7s ease;
        }
        .move {
            transform: translateX(300px); /* 将小球向右移动 */
        }
    </style>
</head>

<body>
    <button id="animateButton">移动</button>
    <div class="ball"></div>
    
    <script>
        const animateButton = document.getElementById("animateButton");
        const ball = document.querySelector(".ball");

        animateButton.addEventListener("click", () => {
            ball.classList.toggle("move");
        });
    </script>
</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/960484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.(Python数模)线性规划问题

Python解决线性规划问题 参考了以下博文 https://blog.csdn.net/m0_46692607/article/details/126784109?spm1001.2014.3001.5506 目标是解决以下的线性规划&#xff0c;程序计算出目标函数的最大值&#xff0c;并在最大值下取得的x1x2x3对应值。 源代码如下&#xff1a; …

MybatisPlus(2)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 上篇我们简单介绍了MybatisPlus的方便之处&#xff0c;这篇来深入了解Myb…

探索生成式人工智能的前景

一、什么是生成式人工智能&#xff1f; 生成式人工智能&#xff08;Generative AI&#xff09;是一类人工智能&#xff08;AI&#xff09;技术和模型&#xff0c;旨在创建新颖的内容。与简单的复制不同&#xff0c;这些模型通过利用从训练数据集中收集到的模式和见解&#xff…

飞桨花滑骨骼点动作识别比赛记 2

基于 PaddleVideo 的花滑骨骼点动作识别 2s-AGCN配置文件节点流配置文件 2s-agcn_ntucs_joint_fsd.yamlMODEL 字段DATASET 字段PIPELINE 和 INFERENCE 字段OPTIMIZER 字段 agcn2s.pygraph输入通道数 骨骼流 Dataset 和 Pipeline配置文件DATASETPIPELINE 源码skeleton.pyskeleto…

Elasticsearch 7.6 - API高阶操作篇

ES 7.6 - API高阶操作篇 分片和副本索引别名添加别名查询所有别名删除别名使用别名代替索引操作代替插入代替查询 场景实操 滚动索引索引模板创建索引模板查看模板删除模板 场景实操一把索引的生命周期数据迁移APIGEO(地理)API索引准备矩形查询圆形查询多边形查询 自定义分词器…

Spring理解,重要概念及图解,2023秋招spring常见八股文

按照自己的需求&#xff0c;找到自己不会的地方去解决 1.Spring的核心 1&#xff09;Spring的两大核心&#xff1a;IoC和AOP Spring框架包含众多模块&#xff0c;如Core、Testing、Data Access、Web Servlet等&#xff0c;其中Core是整个Spring框架的核心模块。Core模块提供…

进程的挂起状态

进程的挂起状态详解 当我们谈论操作系统和进程管理时&#xff0c;我们经常听到进程的各种状态&#xff0c;如“就绪”、“运行”和“阻塞”。但其中一个不那么常被提及&#xff0c;但同样重要的状态是“挂起”状态。本文将深入探讨挂起状态&#xff0c;以及为什么和在何时进程…

linux中安装nodejs,卸载nodejs,更新nodejs,git,linux中安装nginx并配置

文章目录 node的安装与卸载&#xff08;更新版本&#xff09;卸载nodejs安装新版本node git安装与拉取代码安装解决 linux git 每次推拉(push/pull)代码都要输入用户名密码的问题 nginx 安装、配置和卸载安装nginx配置**.conf 文件内容 nginx 卸载 注意&#xff0c;我的是Ubunt…

【Linux】root和子用户都能执行的命令,sudo无法执行(已解决)

全流程帖子 https://ask.oceanbase.com/t/topic/35604437/7 1.问题 如题&#xff0c;在编译miniob的时候遇到如下错误 [muvm-cnt8:~/code/miniob]$ sudo bash build.sh init build.sh init HEAD is now at 5df3037d Merge branch release-2.1.12-stable-pull into patches-2.…

一文搞定全进程间通讯(IPC)八大方式-管道、命名管道、信号、信号量、消息队列、共享内存+内存映射、套接字

进程间通讯&#xff08;IPC&#xff09; 参考 / 引用&#xff1a; 如何在Linux下的进行多进程编程&#xff08;初步&#xff09; - 知乎 (zhihu.com)。浅析进程间通信的几种方式&#xff08;含实例源码&#xff09; - 知乎 (zhihu.com)。 linux基础——linux进程间通信&#…

从零开始,使用C语言实现扫雷小游戏

扫雷 1. 前言2. 准备工作3. 设计思路4. 定义数组5. 初始化6. 打印7. 布置雷8. 排查雷9. 完整代码 1. 前言 大家好&#xff0c;我是努力学习游泳的鱼。今天我们会用C语言实现一个经典的windows小游戏&#xff1a;扫雷。扫雷是一款单机小游戏&#xff0c;我上中学时特喜欢在电脑…

网易24届内推

【网易】2024届网易互联网秋季校园招聘内推开始啦&#xff01;给你分享我的专属内推邀请函&#xff1a;https://bole.campus.163.com/campus/home?projectId55&type99&isShare1&boleId7b842acc7c2b42db&boleType2&signatured5f2a3dc23bed70777a8be1a14b49…

简单了解IPv4编址

目录 一、IPv4地址 二、进制转换 三、有类IPv4 四、无类IPv4 3.1 子网掩码 3.2 地址规划 3.3 VLSM可变长子网掩码 五、私有IPv4地址 六、IPv4报文格式 七、IP地址解析 一、IPv4地址 IPv4地址由“网络位主机位”构成&#xff0c;所谓的网络位就是我们通常所指的网段区…

python 列表extend方法和+(拼接)的区别

1.extend方法会直接作用于原始列表&#xff0c;会修改原始列表的值 a [10, 20, 30] b [1, 2, 3]print(a b) print(a) a.extend(b) print(a) 2.extend接收到的参数是一个可迭代的对象(iterable)&#xff0c;不管是list,tuple,str,dict,set a [10, 20, 30] b {"name&qu…

公司内部网段多管控乱,该如何规范跨网文件传输交换?

古往今来&#xff0c;高筑墙一直是有效的防御措施。从边塞长城到护城河外的高高城墙&#xff0c;都是利用隔离地域的形式实现保护安全域的效果。这样一来&#xff0c;城内的安全域可以在遇到危险时受到有效保护。 在企业网络安全防护方面&#xff0c;网络安全域隔离也是网络安全…

3D点云处理:圆柱侧面点云展开为平面 凹凸缺陷检测(附源码)

文章目录 1. 基本内容展开部分推导2. 展开流程3. 代码实现4. 应用文章目录:3D视觉个人学习目录微信:dhlddxB站: Non-Stop_目标:对采集的圆柱面点云展开为平面;应用:可用于检测圆柱侧面的凹凸缺陷;1. 基本内容 圆柱的侧面展开原理是将一个圆柱体(或柱体)的侧面展开成一个…

el-table实现纯前端导出(适用于el-table任意表格)

2023.9.1今天我学习了如何使用el-table实现前端的导出功能&#xff0c;该方法的好处有无论你的el-table长什么样子&#xff0c;导出之后就是什么样子。 1.安装三个插件 npm install file-save npm install xlsx npm install xlx-style 2.创建Export2Excel.js // 根据dom导出表…

Windows右键添加用 IDEA 打开

1.安装IDEA时 安装时会有个选项来添加&#xff0c;如下&#xff1a; 勾选即可 2.修改注册表 安装时未勾选&#xff0c;可以把下面代码中程序路径改为自己的&#xff0c;保存为对应的 idea.reg文件&#xff0c;双击即可 Windows Registry Editor Version 5.00[HKEY_CLASSES…

问题记录:jenkins添加节点时Launch method没有Launch agents via SSH选项

jenkins问题记录 在jenkins主页&#xff0c;左侧点击Manage Jenkins&#xff0c;找到plugins选项&#xff0c;搜索如下插件安装&#xff1a; 安装完插件后&#xff0c;即可看到ssh选项出来了

2023开学礼《乡村振兴战略下传统村落文化旅游设计》西学图灵许少辉八一新书

2023开学礼《乡村振兴战略下传统村落文化旅游设计》西学图灵许少辉八一新书