CSS transition(过渡效果)详解

article/2025/3/13 8:06:09

CSS transition(过渡效果)详解

通常当 CSS 的属性值更改后,浏览器会立即更新相应的样式,例如当鼠标悬停在元素上时,通过 :hover 选择器定义的样式会立即应用在元素上。在 CSS3 中加入了一项过渡功能,通过该功能您可以将元素从一种样式在指定时间内平滑的过渡到另一种样式,类似于简单的动画,但无需借助 flash 或 JavaScript。

CSS 中提供了 5 个有关过渡的属性,如下所示:

  • transition-property:设置元素中参与过渡的属性;
  • transition-duration:设置元素过渡的持续时间;
  • transition-timing-function:设置元素过渡的动画类型;
  • transition-delay:设置过渡效果延迟的时间,默认为 0;
  • transition:简写属性,用于同时设置上面的四个过渡属性。

要成功实现过渡效果,必须定义以下两项内容:

  • 元素中参数与过渡效果的属性;
  • 过渡效果持续的时间。

提示:过渡效果通常会在鼠标悬停在元素上时发生,如果未设置过渡持续的时间,则过渡效果不会生效,因为过渡时间的默认值为 0。

1、transition-property

transition-property 属性用来设置元素中参与过渡的属性名称,语法格式如下:

transition-property: none | all | property;

参数说明如下:

  • none:表示没有属性参与过渡效果;
  • all:表示所有属性都参与过渡效果;
  • property:定义应用过渡效果的 CSS 属性名称列表,多个属性名称之间使用逗号,进行分隔。

示例代码如下:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition-property: width, background;}div:hover {width: 200px;background-color: blue;}</style>
</head>
<body><div></div>
</body>
</html>

2. transition-duration

transition-duration 属性用来设置过渡需要花费的时间(单位为秒或者毫秒),语法格式如下:

transition-duration: time;

其中,time 为完成过渡效果需要花费的时间(单位为秒或毫秒),默认值为 0,意味着不会有效果。

如果有多个参与过渡的属性,也可以依次为这些属性设置过渡需要的时间,多个属性之间使用逗号进行分隔,例如transition-duration: 1s, 2s, 3s;。除此之外,也可以使用一个时间来为所有参与过渡的属性设置过渡所需的时间。示例代码如下:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition-property: width, background;transition-duration: .25s, 1s;}div:hover {width: 200px;background-color: blue;}</style>
</head>
<body><div></div>
</body>
</html>

运行效果如下图所示:
图:transition-duration 属性演示

3. transition-timing-function

transition-timing-function 属性用来设置过渡动画的类型,属性的可选值如下:

描述
linear以始终相同的速度完成整个过渡过程,等同于 cubic-bezier(0,0,1,1)
ease以慢速开始,然后变快,然后慢速结束的顺序来完成过渡过程,等同于 cubic-bezier(0.25,0.1,0.25,1)
ease-in以慢速开始过渡的过程,等同于 cubic-bezier(0.42,0,1,1)
ease-out以慢速结束过渡的过程,等同于 cubic-bezier(0,0,0.58,1)
ease-in-out以慢速开始,并以慢速结束的过渡效果,等同于 cubic-bezier(0.42,0,0.58,1)
cubic-bezier(n, n, n, n)使用 cubic-bezier() 函数来定义自己的值,每个参数的取值范围在 0 到 1 之间

示例代码如下:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition-property: width, background;transition-duration: .25s, 1s;transition-timing-function: ease;}div:hover {width: 200px;background-color: blue;}</style>
</head>
<body><div></div>
</body>
</html>

4. transition-delay

transition-delay 属性用来设置过渡效果何时开始,属性的语法格式如下:

transition-delay: time;

其中,参数 time 用来设置在过渡效果开始之前需要等待的时间,单位为秒或毫秒。
示例代码如下:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition-property: width, background;transition-duration: .25s, 1s;transition-delay: 3s;}div:hover {width: 200px;background-color: blue;}</style>
</head>
<body><div></div>
</body>
</html>

运行效果如下图所示:
在这里插入图片描述

5. transition

transition 属性是上面四个属性的简写形式,通过该属性可以同时设置上面的四个属性,属性的语法格式如下:

transition: transition-property transition-duration transition-timing-function transition-delay;

transition 属性中,transition-property 和 transition-duration 为必填参数,transition-timing-function 和 transition-delay 为选填参数,如非必要可以省略不写。另外,通过 transition 属性也可以设置多组过渡效果,每组之间使用逗号进行分隔,示例代码如下:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition: width .25s linear 1.9s, background 1s 2s, transform 2s;}div:hover {width: 200px;background-color: blue;transform: rotate(180deg);}</style>
</head>
<body><div></div>
</body>
</html>

运行效果如下图所示:
图:transition 属性演示

上面的代码也可以写成如下所示的样子:

<!DOCTYPE html>
<html>
<head><style>div {width: 100px;height: 100px;border: 3px solid black;margin: 10px 0px 0px 10px;transition-property: width, background, transform;transition-duration: .25s, 1s, 2s;transition-timing-function: linear, ease, ease;transition-delay: 1.9s, 2s, 0s;}div:hover {width: 200px;background-color: blue;transform: rotate(180deg);}</style>
</head>
<body><div></div>
</body>
</html>

http://chatgpt.dhexx.cn/article/l324Oguf.shtml

相关文章

#HTML5-CSS-transition-过渡特效

CSS过渡特效 概述   在CSS中用于设置过渡特效的属性是 transition&#xff0c;该属性允许CSS的属性值在一定的时间区间内平滑地过渡&#xff0c;这就拜托了我们在CSS3版本标准之前对“JavaScript”和“Flash”的依赖&#xff0c;使页面的性能得以提升。这种效果可以在鼠标悬…

Windows系统_ARM处理器无法打开客户端问题解决

问题现象&#xff1a;客户端无法打开 用户环境&#xff1a;Windows系统 ARM处理器 问题定位&#xff1a;兼容性问题 解决方法&#xff1a; 右键客户端&#xff0c;点击“属性”选择“兼容性”&#xff0c;点击“更改所有用户的设置” 选择“更改仿真设置” 勾选设置如下&a…

每日三问之rem与em区别、Vue Set基本用法与使用场景、手写call、apply、bind方法

rem与em区别 在css中单位长度用的最多的是px、em、rem&#xff0c;这三个的区别是&#xff1a; px是固定的像素&#xff0c;一旦设置了就无法因为适应页面大小而改变。em和rem相对于px更具有灵活性&#xff0c;他们是相对长度单位&#xff0c;意思是长度不是定死了的&#xf…

IntelliJ 代码规范检查设置

IntelliJ → Preferences → Code Style → Inspections 在这里可以设置各种文件格式的规范检查 安装了阿里代码规约插件以后就会多出一项 Ali-Check &#xff08;请先安装阿里的代码规约插件 IntelliJ 代码规范检查插件&#xff09; 为了让大家统一规范规则&#xff0c;我们…

macOS借助vmware隔离运行aTrust,实现宿主机“干净”连入局域网

aTrust是深信服原easyconnect的升级产品&#xff0c;重点打造了一个“零信任”的概念&#xff0c;就是这个概念让我头皮发麻&#xff0c;其在官网直接挂着 终端检测深入&#xff1a;支持进程级检测&#xff0c;可发现和阻止终端上非可信应用进程&#xff1b;在登录时、每一次访…

基于云开发的答题活动小程序v2.0-用云开发的聚合能力实现从题库中随机出题功能

项目技术栈 微信原生小程序云开发。为什么选择微信原生小程序进行开发呢&#xff1f;因为能够直接应用它的云开发能力吖。 我这里主要使用了云开发能力中的小程序端SDK&#xff0c;说白了就是在javascript中就能直接操作数据库。 本篇前言 基于云开发的答题活动小程序v2.0的…

国内唯一!腾讯零信任iOA入选全球UEM厂商全景图

近日&#xff0c;国际权威机构Forrester发布《The Unified Endpoint Management Landscape, Q3 2023》&#xff08;以下简称“报告”&#xff09;&#xff0c;对全球24家统一终端管理厂商进行了综合性评估&#xff0c;腾讯安全凭借零信任iOA在DEX&#xff08;数字化员工体验&am…

VMware:速修复这三个严重的 Workspace ONE Assist 软件漏洞

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;代码卫士 VMware 修复了影响 Workspace ONE Assist 解决方案中的五个漏洞&#xff0c;其中一些可悲用于绕过认证并获取提升后的权限。 其中三个漏洞CVE-2022-31685、CVE-2022-31686和CVE-2022-31687…

Linux 服务器 OOM 分析

1 服务器告警短信 【监控告警】告警名称:商业业务数字科技中心机器发生oom, 状态:CRITICAL, 环境:xxx-阿里云-生产集群(生产)-生产, 告警内容: log.sys.oom(max,120s) > 0,当前值&#xff1a;1.00, 资源类型:服务器(n9e), 告警对象:10.231.82.xxx, 触发时间:2021-11-02 18:2…

Linux easy_install scrapy 报错 Not a recognized archive type: /tmp/easy_install-uem5ldyz/Twisted-18.9.

(本人用的服务器是CentOS7.3, python版本是3.7.0&#xff0c;自己的服务器用的是root用户&#xff0c;哈哈&#xff01;) 按照正常步骤安装scrapy 1.首先升级yum源 sudo yum update 2.安装依赖包 sudo yum -y install libxslt-devel pyOpenSSL python-lxml python-devel g…

启用Desktop Central Cloud:以SaaS方式拥抱UEM !

Desktop Central是一个全面的统一终端管理(UEM)解决方案&#xff0c;可以动态地保护和管理用户设备&#xff0c;包括台式机、笔记本电脑、智能手机和平板电脑。 KuppingerCole在其2020年领导者指南中将ManageEngine Desktop Central评为统一终端管理(UEM)领导者。 作为UEM领域…

重大福利!优云UEM重磅上线!

“千呼万唤始出来”&#xff0c;万众期待的优云UEM正式与宝宝们见面啦~~~ 今天很多人来问小编&#xff0c;优云Web咋不见了&#xff0c;表急&#xff0c;优云Web并没有消失&#xff0c;而是重磅升级为优云UEM啦&#xff01;&#xff01;&#xff01; 什么是UEM呢&#xff1f;UE…

UEM用户行为了如指掌!

“千呼万唤始出来”&#xff0c;万众期待的UEM正式与宝宝们见面啦~~~ 今天很多人来问小编&#xff0c;Web咋不见了&#xff0c;表急&#xff0c;Web并没有消失&#xff0c;而是重磅升级为UEM啦&#xff01;&#xff01;&#xff01; 什么是UEM呢&#xff1f;UEM全称User Experi…

UEM“探针”技术及用户体验管理

随着互联网产品越来越多&#xff0c;用户群体越来越庞大以及用户品位的多样性增加&#xff0c;我们会发现这样的一个规律&#xff0c;就是相同类型的产品&#xff0c;比如播放器中的QQ影音和暴风影音&#xff0c;再比如小游戏平台中的腾讯游戏和联众等等&#xff0c;他们的功能…

ManageEngine卓豪在2022年度“IDC MarketScape UEM评估报告”中被评为领导者

今天&#xff0c;我们很高兴地与大家分享ManageEngine卓豪在IDC&#xff08;国际数据公司&#xff09;近期发布的三项关于统一端点管理 (UEM) 市场供应商评估报告中被评为领导者&#xff1a; IDC MarketScape&#xff1a;全球统一端点管理软件 2022供应商评估IDC MarketScape&…

CISA 督促VMware 管理员修复Workspace ONE UEM 中的严重漏洞

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;代码卫士 CISA 要求 VMware 管理员和用户修复 Workspace ONE UEM 控制台中的严重漏洞&#xff0c;它可遭威胁者滥用&#xff0c;获得对敏感信息的访问权限。 Workspace ONE UEM 是桌面、移动、固件、…

VMware Workspace ONE UEM安装部署

环境信息 角色 操作系统 IPDBwindows server 2012192.168.1.69UEMwindows server 2016192.168.1.169一:数据库安装 数据库安装跳过! 二:UEM数据库工具安装 1、双击运行安装包 2、安装

UEM系列(一)用户体验管理介绍

随着互联网产品越来越多,用户群体越来越庞大以及用户品位的多样性增加,我们会发现这样的一个规律,就是相同类型的产品,比如播放器中的QQ影音和暴风影音,再比如小游戏平台中的腾讯游戏和联众等等,他们的功能是相同的或者是相似的,但是对于用户来说,每个人都有着不同的使…

UEM系列(二)初识UEM“探针”技术

本篇是UEM系列的第二篇,今天让我们一起来初识一下UEM当中的"探针"技术。欢迎大家访问以下链接来阅读我们UEM系列以往的文章。 链接:https://www.toutiao.com/i6600983314784322056/ 1、 UEM核心功能 用户体验一般分为移动应用体验(UEM App)和浏览器应用体验(…

(软件工程复习核心重点)第三章需求分析习题

pdf下载&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】软件工程导论第六版&#xff08;张海藩&#xff09;专栏学习笔记目录导航 文章目录 一&#xff1a;选择题二&#xff1a;填空题三&#xff1a;名词解释&#xff08;1&#xff09;必考 四&#xff1a;简答题&am…