前端css中transition的使用

前端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.mfbz.cn/a/556788.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java在MySQL数据报错Data truncation: Data too long for column ‘**‘ at row 1 处理

问题 在Java SpringBoot MyBatis 框架的项目中&#xff0c;一切正常&#xff0c;不过在一个接口的参数字段传入过大的数据就会报此错误&#xff1a; 请求常:org.springframework.dao.DataIntegrityViolationException: Error updating database.Cause:com.mysql.cj.jdbc.excep…

漫画项目管理 | 遇到强势甲方的不合理项目需求,我该怎么办?

&#x1f937;‍♂️ 遇到甲方强烈要求不合理需求怎么办? &#x1f938;‍♂️看似离谱的功能客户却一定要加? &#x1f939;‍♂️时间紧任务重&#xff0c;甲方却“什么都想要“? &#x1f93e;‍♂️明明初稿很完美&#xff0c;却被要求改来改去?** &#x1f468;‍…

学习STM32第十六天

RTC实时时钟 一、简介 RTC是一个独立的BCD格式定时器&#xff0c;提供一个时钟日历&#xff0c;两个可编程报警中断&#xff0c;一个具有中断功能周期性可编程唤醒标志&#xff0c;RTC和时钟配置系统处于后备区域。 通过两个32位寄存器以BCD格式实现秒、分钟、小时&#xff08…

Qt日志使用

QsLog使用 这篇讲qt的日志还是比较好的&#xff0c;可以在自己的函数里面配置这个日志框架实现自己所需的功能。 我接触的项目里面&#xff0c;假如有个函数功能执行错误了&#xff0c;我希望可以快速定位到这个错误&#xff0c;这个时候就需要到了日志&#xff0c;我咨询了有经…

使用Python脚本检测服务器信息并定时发送至管理员邮箱

在日常的系统管理工作中&#xff0c;监测服务器的资源占用情况至关重要&#xff0c;我们需要及时获得通知以便采取相应措施。我新装了一台UbuntuServer服务器&#xff0c;写了一个可以定期收集服务器的CPU、内存、网络和磁盘信息&#xff0c;并通过邮件将这些信息发送给管理员的…

Seal^_^【送书活动第一期】——《Vue.js+Node.js全栈开发实战(第2版)》

Seal^_^【送书活动第一期】——《Vue.jsNode.js全栈开发实战&#xff08;第2版&#xff09;》 一、参与方式二、本期推荐图书2.1 前 言2.2 作者简介2.3 图书简介2.4 本书特色2.5 编辑推荐2.6 书籍目录 三、正版购买 一、参与方式 1、关注博主的账号。 2、点赞、收藏、评论博主的…

C++练级之路——类和对象(下)

目录 1、构造函数初始化列表 2、类型转换 3、explicit关键字 4、static成员 5、友元 友元函数 友元类 6、内部类 7、匿名对象 8、拷贝构造时的一些编译器优化 差不多结束了&#xff0c;类和对象&#xff01; 1、构造函数初始化列表 初始化列表&#xff1a;以一个冒号…

了解MySQL的复制

了解MySQL的复制 MySQL的复制允许数据从一个MySQL数据库服务器&#xff08;主服务器&#xff09;复制到一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。复制在数据库的扩展性和数据备份方面扮演着重要角色&#xff0c;特别是在大型企业和高可用性的应用场景中…

时序预测 | Transformer时间序列预测 Matlab代码

文章目录 效果一览文章概述源码设计参考资料 效果一览 文章概述 1.时序预测 | Transformer时间序列预测 Matlab代码 2.单变量时间序列预测&#xff1b; 3.多指标评价&#xff0c;评价指标包括&#xff1a;R2、MAE、MBE等&#xff0c;代码质量极高&#xff1b; 4.excel数据&…

Git使用总结(不断更新中)

branch 本地分支操作 删除本地分支 git branch -d <local-branch-name>远端分支操作 从远端分支创建本地分支 git checkout -b <local-branch-name> origin/<remote-branch-name>git ignore 如果工程的代码文件中有不希望上传到远端的文件&#xff0c;…

Java数据类型以及范围

数据类型&#xff1a; 取值范围&#xff1a; 取值&#xff1a;

将 Notepad++ 添加到右键菜单

目录 方式一&#xff1a;添加注册表&#xff08;手动&#xff09; 方式二&#xff1a;添加注册表&#xff08;一键添加&#xff09; 有时安装了notepad后&#xff0c;在txt文件上右键&#xff0c;在弹出的菜单栏中没有【通过 Notepad 打开】&#xff0c;如下&#xff1a; 这…

c语言基础总结

1. c语言概述 c语言是计算机编程语言的一种&#xff0c;编程语言用于人和机器交流。 1.1 c语言特点 简洁 ​ c语言的语法简单&#xff0c;语句清晰明了&#xff0c;使得程序易于阅读和理解 高效 ​ c语言的执行效率高&#xff0c;可以用于开发需要高性能的应用程序 可移…

[C++][算法基础]求约数(试除法)

给定 n 个正整数 &#xff0c;对于每个整数 &#xff0c;请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个整数 。 输出格式 输出共 n 行&#xff0c;其中第 i 行输出第 i 个整数 的所有约数。 数据范围 1≤…

Django模型的字段类型

Django模型中最重要并且也是唯一必须执行的就是字段定义。字段在类中进行定义&#xff0c;对应于实体数据库的字段。另外&#xff0c;定义模型字段名时为了避免冲突&#xff0c;不建议使用模型API中已经定义的关键字。 字段类型用以指定数据库的数据类型&#xff0c;例如Integ…

瑞芯微RK3328(ROC-RK3328-PC)buildroot 开发QT的hello world

第一部分&#xff1a;编译rk3328 sdk 0. 环境 - EC-R3328PC&#xff08;ROC-RK3328-PC&#xff09; - ubuntu18&#xff08;100GB&#xff09; 1. 安装依赖 sudo apt-get updatesudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools devi…

C++ //练习 12.26 用allocator重写第427中的程序。

C Primer&#xff08;第5版&#xff09; 练习 12.26 练习 12.26 用allocator重写第427中的程序。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /************************************************************************…

Linux入门攻坚——19、sed入门、bash脚本编程续

sed&#xff1a;Stream EDitor&#xff0c;流编辑器&#xff0c;行编辑器&#xff1a;实现文本编辑时是逐行进行的。 用法&#xff1a; sed [option]... script inputfile... script&#xff1a;‘地址命令’&#xff0c;如1,4d sed是将文件内容读取后放入自己的编辑…

Junit 历史-ApiHug准备-测试篇-008

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 背景 J…

【人工智能书籍】一本书读懂AIGC:ChatGPT、AI绘画、智能文明与生产力变革(PDF分享)

今天又来给大家推荐一本人工智能方面的书籍<一本书读懂AIGC&#xff1a;ChatGPT、AI绘画、智能文明与生产力变革>。本书以通俗易懂的方式从各个层面介绍了AIGC的基础知识&#xff0c;并辅以大量案例引领读者了解AIGC的应用实践&#xff0c;让读者可以更快速地利用AIGC改善…