前端css中transition的使用

news2025/1/11 6:56:05

前端css中transition的使用

  • 一、前言
  • 二、transition的4个属性
  • 三、例子
    • 1.源码1
    • 2.源码1运行效果
  • 四、结语
  • 五、定位日期

一、前言

CSS中的transition(过渡),根据字面意思就可以理解成一种变化状态的过程。当我们有一个方形,我们想让它变化成一个圆,持续2秒钟的变换;又或者粉色方形变换成蓝色圆形,持续3秒钟的变换,那么前面这些需求我们可以使用transition来实现。
后边的代码运行后演示,可看出过渡动画是双向的。当我们鼠标悬停在组件上时,组件进行过渡动画,当鼠标离开组件时,也会触发进行过渡动画返回变化为初始状态。

二、transition的4个属性

举例:
transition: A B C D;
A ------ 过渡动画的对象或组件的某个属性,可以是某个按钮的颜色(背景颜色,边框颜色等),按钮圆角,等。

B ------ 持续这个过渡动画的时间,比如圆形变为方形这个过程持续2s。以秒(s)或毫秒(ms)为单位。

C ------ 过渡动画中的速度曲线,常用的值包括:

  • linear(直线的)动画从头到尾的速度相同
  • ease(舒适)动画慢速开始,然后快,结束前慢。默认的计时函数。
  • ease-in 开始慢,逐渐加快到完成。
  • ease-out 一开始全速快,然后逐渐减速到完成。
  • ease-in-out 动画开始结束慢,中间速度最快。
  • cubic-bezier(n,n,n,n) 自定义一个贝塞尔曲线。
  • steps(n, start | end) 指定一个固定步数的跳转效果,不是平滑过渡。

D ------ 延迟开始过渡的时间,说白了就是先停一下,过多久之后再开始,以秒(s)或毫秒(ms)为单位。

注意:
如果只需要一个组件的一个属性如按钮的背景颜色进行过渡动画,那么设置好下面的A,B,C,D就行,如下:

  • transition: background-color 2s linear, /* 背景颜色在2秒内以线性方式变化。 */

那如果我除了要对背景颜色,还对圆角进行过渡变换,那么需要用逗号,隔开,如下:

  • transition: background-color 2s linear, border-radius 3s ease 1s;

三、例子

1.源码1

<!DOCTYPE html>
<!-- DOCTYPE声明定义了文档的类型和HTML的版本。这里指定为HTML5。 -->
<html lang="en">
<!-- <html>标签是HTML文档的根元素。lang属性指定页面的语言,这里的'en'表示英语。 -->

<head>
    <style>
        /* 在<head>部分的<style>标签内定义内部CSS样式。 */

        .box {
            width: 100px; /* 设置按钮的宽度为100像素。 */
            height: 100px; /* 设置按钮的高度为100像素。 */
            background-color: blue; /* 设置按钮的初始背景颜色为蓝色。 */
            border-color: pink; /* 设置按钮的边框颜色为粉红色。 */
            border-width: 5px; /* 设置边框宽度为5像素,使边框明显可见。 */
            /* 定义background-color和border-radius属性的过渡效果。 */
            transition: background-color 2s linear, /* 背景颜色在2秒内以线性方式变化。 */
                        border-radius 3s ease 1s; /* 边框半径在3秒内以缓和方式变化,从1秒后开始变化。 */
        }

        .box:hover {
            background-color: red; /* 当鼠标悬停时,背景颜色变为红色。 */
            border-radius: 50%; /* 当鼠标悬停时,边框半径变为50%,创建圆形效果。 */
            border-color: aqua; /* 当鼠标悬停时,边框颜色变为水蓝色。 */
        }
    </style>
</head>
<body>
    <!-- <body>标签包含HTML文档中将在网页上可见的内容。 -->
    <button class="box"></button> <!-- 一个具有'class="box"'的按钮元素,应用了<head


2.源码1运行效果

鼠标悬停按钮,方形蓝底粉边框,过渡动画变为圆形红底天蓝边框

鼠标未悬停于按钮上时,为蓝底粉边框,如下图:
在这里插入图片描述
鼠标悬停于按钮上时,过渡变化为红底,淡蓝色边框,如下图:
在这里插入图片描述

四、结语

在前面关于css的border-radius属性中,用到了本文的transition,则为此专门花了点时间学习了transition。为此还自己尝试写出了个奇怪好玩的按钮。本文transition中关于过渡速度曲线中的* cubic-bezier(n,n,n,n)steps(n, start | end)只是简单的讲解,具体用法后续会根据需要编写相关的博文。

五、定位日期

2024.4.18
19:06

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

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

相关文章

深度学习数据处理——对比标签文件与图像文件,把没有打标签的图像文件标记并删除

要对比目录下的jpg文件与json文件&#xff0c;并删除那些没有对应json文件的jpg文件&#xff0c;这个在深度学习或者机器学习时常会遇到。比如对一个数据集做处理时&#xff0c;往往会有些图像不用标注&#xff0c;那么这张图像是没有对应的标签文件的&#xff0c;这个时候又不…

MySQL 的事务概念

事务概念 MySQL事务是一个或者多个的数据库操作&#xff0c;要么全部执行成功&#xff0c;要么全部失败回滚。 事务是通过事务日志来实现的&#xff0c;事务日志包括&#xff1a;redo log和undo log。 事务状态 事务有以下五种状态&#xff1a; 活动的部分提交的失败的中止的…

模拟相机拍照——对文档进行数据增强

一. 背景 假如我们有一个标准文件&#xff0c;我们对其进行文字识别、版面分析或者其他下游任务就比较容易。然而&#xff0c;当图片是手机拍照获取的&#xff0c;图片中往往有阴影、摩尔纹、弯曲。 那么&#xff0c;如何通过标准的文档&#xff0c;获得类似相机拍照的图片呢&…

24华中杯C题10页论文+代码+思路

问题1&#xff1a;估算传感点的曲率 问题2&#xff1a;重构平面曲线 问题3&#xff1a;重构平面曲线并分析误差 详细资料如图所示 10页论文 需要的宝子们&#xff1a;2024华中杯A题思路数据可执行代码参考论文https://mbd.pub/o/bread/ZZ6am5dw 2024华中杯B题思路数据可执行…

C语言简单的数据结构:双向链表的实现

目录&#xff1a; 1.双向链表的结构和初始化1.1双向链表的结构1.2双向链表的初始化 2.双向链表的相关操作2.1双向链表的尾插、打印和头插2.11双向链表的尾插2.12双向链表的打印2.13双向链表的头插 2.2双向链表的尾删和头删2.21双向链表的尾删2.22双向链表的头删 2.3双向链表查找…

Linux 网络测速

1.开发背景 网络测速&#xff0c;为了测试开发板的网络速度是否达标的通用测试方法 2.开发需求 搭建 iperf3 &#xff0c;在 ubuntu 下安装服务端&#xff0c;在板卡上安装客户端&#xff0c;服务端和客户端互发 3.开发环境 ubuntu20.04 嵌入式开发板&#xff08;debian 千…

了解MySQL InnoDB多版本MVCC(Multi-Version Concurrency Control)

了解MySQL InnoDB多版本MVCC&#xff08;Multi-Version Concurrency Control&#xff09; 在数据库管理系统中&#xff0c;多版本并发控制&#xff08;MVCC&#xff09;是一种用于实现高并发和事务隔离的技术。MySQL的InnoDB存储引擎支持MVCC&#xff0c;这使得它可以在提供高…

22长安杯电子取证复现(检材一,二)

检材一 先用VC容器挂载&#xff0c;拿到完整的检材 从检材一入手&#xff0c;火眼创建案件&#xff0c;打开检材一 1.检材1的SHA256值为 计算SHA256值&#xff0c;直接用火眼计算哈希计算 9E48BB2CAE5C1D93BAF572E3646D2ECD26080B70413DC7DC4131F88289F49E34 2.分析检材1&am…

Spring (三) 之Aop及事务控制

文章目录 目标 一、AOP 思想和重要术语&#xff08;理解&#xff09;1、需求问题2、AOP3、AOP 术语 二、AOP 实现及 Pointcut 表达式&#xff08;了解&#xff09;1、AOP 规范及实现2、AspectJ3、AspectJ 切入点语法&#xff08;掌握&#xff09;3.1、切入点语法通配符3.2、切入…

Linux 网络基本命令

一、查看网络信息 ifconfig 二、关闭网络 ifdown ens33 (有的电脑不一定是ens33&#xff0c;具体看上图画线的地方) 三、开启网络 ifup ens33

【电路笔记】-数字逻辑门总结

数字逻辑门总结 文章目录 数字逻辑门总结1、概述2、逻辑门真值表3、总结 数字逻辑门有三种基本类型&#xff1a;与门、或门和非门。 1、概述 我们还看到&#xff0c;数字逻辑门具有与其相反或互补的形式&#xff0c;分别为“与非门”、“或非门”和“缓冲器”&#xff0c;并且…

RK3588 Android13 鼠标风格自定义动态切换

前言 电视产品,客户提供了三套鼠标图标过来,要求替换系统中原有丑陋风格且要支持动态切换, 并且在 TvSetting 中要有菜单,客户说啥就是啥呗,开整。 效果图 test framework 部分修改文件清单 png 为鼠标风格资源图片,这里就不提供了,可自由找一个替换一下就行 framew…

C语言野指针【入门详解】

目录 一、什么是野指针 二、野指针的成因 2.1 指针未初始化 2.2 指针越界访问 2.3 指针指向的空间释放 三、如何规避野指针 3.1 初始化指针 3.2 小心越界访问 3.3 当指针不用时&#xff0c;及时置为空 3.4 避免返回局部变量的地址 *结语&#xff1a; 希望这篇关于指…

[SWPUCTF 2021 新生赛]jicao、easy_md5

目录 一、[SWPUCTF 2021 新生赛]jicao 什么是JSON&#xff1f; JSON语法&#xff1a; [SWPUCTF 2021 新生赛]jicao 二、[SWPUCTF 2021 新生赛]easy_md5 PHP弱类型和强类型 1.弱类型比较&#xff08;&#xff09; 2.强类型比较&#xff08;&#xff09; [SWPUCTF 2021 …

OceanBase数据库日常运维快速上手

这里为大家汇总了从租户创建、连接数据库&#xff0c;到数据库的备份、归档、资源配置调整等&#xff0c;在OceanBase数据库日常运维中的操作指南。 创建租户 方法一&#xff1a;通过OCP 创建 确认可分配资源 想要了解具体可分配的内存量&#xff0c;可以通过【资源管理】功…

华为OD机试 - 结队编程(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

Google DeepMind: Many-Shot vs. Few-Shot

本文介绍了如何通过增大上下文窗口&#xff0c;利用大型语言模型&#xff08;LLMs&#xff09;进行多实例上下文学习&#xff08;Many-Shot In-Context Learning&#xff0c;ICL&#xff09;的方法。主要描述了现有的几实例上下文学习方法虽然在推理时能够通过少量例子学习&…

MicroSIP电话呼叫软件使用及配置方法

MicroSIP是一款开源的SIP协议电话软件&#xff0c;它可以帮助你在计算机上进行语音和视频通话。下面是关于如何使用和配置MicroSIP的一些基本步骤&#xff1a; 安装MicroSIP 从MicroSIP官方网站下载适合你操作系统的安装包23。 解压下载的文件&#xff0c;并运行安装程序。 …

可以与 FastAPI 不分伯仲的 Python 著名的 Web 框架

正如你所理解的&#xff0c;任何领域都不可能停止进步&#xff0c;不断使用相同的工具意味着不思进取。这一点在信息技术领域&#xff0c;尤其是网络开发行业非常明显。 关于网络框架&#xff0c;不论是 Django 和 Flask 等传统框架还是 Python 的新型高级框架&#xff0c;一直…

算法课程笔记——常用库函数

memset初始化 设置成0是可以每个设置为0 而1时会特别大 -1的补码是11111111 要先排序 unique得到的是地址 地址减去得到下标 结果会放到后面 如果这样非相邻 会出错 要先用sort排序 O&#xff08;n&#xff09;被O&#xff08;nlogn&#xff09;覆盖