CSS-5.1 Transition 过渡

本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。

HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看!

点赞关注不迷路!您的点赞、关注和收藏是对小编最大的支持和鼓励!

系列文章目录

CSS- 1.1 css选择器

CSS- 2.1 实战之图文混排、表格、表单、学校官网一级导航栏

CSS- 3.1 盒子模型-块级元素、行内元素、行内块级元素和display属性

CSS- 4.1 浮动(Float)

CSS- 4.2 相对定位(position: relative)

CSS- 4.3 绝对定位(position: absolute)&学校官网导航栏实例

CSS- 4.4 固定定位(fixed)& 咖啡售卖官网实例

CSS- 4.5 css + div 布局 & 简易网易云音乐 官网布置实例 

CSS- 4.6 radiu、shadow、animation动画

CSS-5.1 Transition 过渡


目录

系列文章目录

前言

一、Transition 过渡详解

1.基本概念

2.语法

3.常用过渡属性

4.示例

1. 基础悬停效果

2. 尺寸变化过渡

3. 透明度过渡

4. 多属性过渡

5.高级用法

1. 使用 all 关键字

2. 指定多个过渡

3. 结合 transform 实现高性能动画

6.速度曲线函数

7.注意事项

8.实际应用场景

二、代码实例

1. css3-transition过渡 代码如下:

2. 过渡应用1 代码如下:

3. 过渡应用2 代码如下:

 4. 过渡应用3 代码如下:

总结


前言

小编作为新晋码农一枚,会定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,如转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!

一、Transition 过渡详解

CSS3 的 transition 属性允许元素在状态变化时(如悬停、点击等)产生平滑的动画效果,而无需使用 JavaScript。它是创建简单动画效果的一种高效方式。

1.基本概念

transition 属性是以下四个子属性的简写:

  1. transition-property:指定应用过渡效果的 CSS 属性
  2. transition-duration:指定过渡效果持续的时间
  3. transition-timing-function:指定过渡效果的速度曲线
  4. transition-delay:指定过渡效果开始前的延迟时间

2.语法

css

.element {transition: property duration timing-function delay;
}

或分别指定:

css

.element {transition-property: width;transition-duration: 0.5s;transition-timing-function: ease-in-out;transition-delay: 0.2s;
}

3.常用过渡属性

任何可以动画化的 CSS 属性都可以使用过渡效果,常见的包括:

  • color(颜色)
  • background-color(背景色)
  • width(宽度)
  • height(高度)
  • opacity(透明度)
  • transform(变形)
  • border-radius(圆角)
  • box-shadow(阴影)
  • font-size(字体大小)
  • margin(外边距)
  • padding(内边距)

4.示例

1. 基础悬停效果

css

.button {background-color: #3498db;color: white;padding: 10px 20px;border: none;border-radius: 5px;transition: background-color 0.3s ease;
}.button:hover {background-color: #2980b9;
}

效果:当鼠标悬停在按钮上时,背景色会平滑过渡到更深的蓝色。

2. 尺寸变化过渡

css

.box {width: 100px;height: 100px;background-color: #e74c3c;transition: all 0.5s ease-in-out;
}.box:hover {width: 200px;height: 200px;background-color: #c0392b;
}

效果:悬停时,盒子会平滑放大并改变颜色。

3. 透明度过渡

css

.overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0);transition: background-color 0.5s ease;
}.overlay.active {background-color: rgba(0, 0, 0, 0.5);
}

效果:叠加层在激活时平滑地从不透明变为半透明。

4. 多属性过渡

css

.card {width: 200px;height: 200px;background-color: #f1c40f;border-radius: 10px;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);transition: transform 0.3s ease,box-shadow 0.3s ease;
}.card:hover {transform: translateY(-10px);box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

效果:悬停时,卡片轻微上浮并阴影加深,产生浮动效果。

5.高级用法

1. 使用 all 关键字

css

.element {transition: all 0.3s ease;
}

注意:虽然方便,但可能影响性能,特别是当有很多属性需要过渡时。

2. 指定多个过渡

css

.element {transition: width 0.5s ease-in,height 0.3s ease-out,background-color 0.2s linear;
}

3. 结合 transform 实现高性能动画

css

.element {transition: transform 0.3s ease;
}.element:hover {transform: scale(1.1) rotate(5deg);
}

优势transform 和 opacity 是由 GPU 加速的属性,性能更好。

6.速度曲线函数

  • ease(默认):慢速开始,然后变快,然后慢速结束
  • linear:匀速
  • ease-in:慢速开始
  • ease-out:慢速结束
  • ease-in-out:慢速开始和结束
  • cubic-bezier(n,n,n,n):自定义贝塞尔曲线

7.注意事项

  1. 性能考虑:避免对会频繁触发的属性(如 topleft)使用过渡,可能引起性能问题。
  2. 硬件加速:优先使用 transform 和 opacity 属性以获得最佳性能。
  3. 可访问性:确保过渡效果不会影响用户体验,特别是对于有运动敏感问题的用户。
  4. 兼容性:现代浏览器都支持 transition,但对于旧版浏览器可能需要前缀或回退方案。

8.实际应用场景

  • 导航菜单悬停效果
  • 按钮状态变化
  • 模态框显示/隐藏
  • 卡片悬停效果
  • 加载指示器
  • 图片悬停放大
  • 表单元素焦点状态

CSS3 的 transition 属性为网页交互提供了简单而强大的工具,可以显著提升用户体验而无需编写复杂的 JavaScript 代码。合理使用过渡效果可以使网站感觉更加生动和专业。

二、代码实例

1. 过渡应用 代码如下:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>css3-transition过渡</title><style type="text/css">div {width: 300px;height: 100px;border: 1px solid black;text-align: center;line-height: 100px;font-size: 20px;background-color: silver;border-radius: 20px;transition: all 1s linear;}/* 触发器 hover *//* 那个元素的哪个属性发生变化 *//* div  background-color 发生变化 *//* 哪个元素的属性值发生变化 我们就把transition放在哪个属性元素对应的选择器当中 */div:hover {background-color: #45b823;color: white;border: none;}</style></head><body><h1>过渡transition</h1><p>将元素的某个属性从“一个值”在指定的时间内过渡到“另一个值”</p><div>web design</div></body>
</html>

代码运行如下:

2. 过渡应用1 代码如下:


<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>过渡应用1</title><style type="text/css">* {margin: 0;padding: 0;}.showlist ul {list-style-type: none;}/* 最大的父盒子,用来进行页面居中 */.showlist {}.showlist ul li {width: 300px;height: 40px;border: 1px solid black;overflow: hidden;transition: all 1s linear;}.showlist h3 {width: 300px;height: 40px;text-align: left;line-height: 40px;}.showlist .text {width: 300px;height: 180px;background-color: white;color: black;}.showlist ul li:hover {height: 220px;background-color: black;color: white;}.showlist img {width: 300px;}</style></head><body><div class="showlist"><ul><li><h3>这是标题</h3><div class="text"><img src="../img/Leslie%20Mint.png" ></div></li><li><h3>这是标题</h3><div class="text">这是内容</div></li><li><h3>这是标题</h3><div class="text">这是内容</div></li><li><h3>这是标题</h3><div class="text">这是内容</div></li></ul></div></body>
</html>

代码运行如下:

3. 过渡应用2 代码如下:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>transition过渡应用2</title><style type="text/css">*{margin: 0;padding: 0;}.container {width: 170px;height: 190px;position: relative;overflow: hidden;float: left;margin-right: 50px;}.container .text {width: 170px;height: 190px;/* border: 1px solid black; */position: absolute;left: 170px;top: 0px;transition: all 1s linear;}.container:hover .text {left: 0px;background-color: rgba(255,255,255,.6);color: saddlebrown;}</style></head><body><div class="container"><img src="../img/kbjn.jpg" ><div class="text"><h1>标题</h1><p>对文本的解释说明</p></div></div><div class="container"><img src="../img/kbjn.jpg" ><div class="text"><h1>标题</h1><p>对文本的解释说明</p></div></div><div class="container"><img src="../img/kbjn.jpg" ><div class="text"><h1>标题</h1><p>对文本的解释说明</p></div></div></body>
</html>

代码运行如下:

 4. 过渡应用3 代码如下:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>过渡应用3</title><style type="text/css">.wrap {width: 170px;height: 190px;transform-style: preserve-3d;position: relative;transition: all 1s linear;}.face {width: 170px;height: 190px;border: 1px solid saddlebrown;}.wrap:hover {transform: rotateY(180deg);}.wrap .back {/* 为了防止背面的字产生镜面效果,我们先翻180deg */transform: rotateY(180deg);background-color: saddlebrown;color: wheat;position: absolute;top: 0px;}</style></head><body><div class="wrap"><div class="face front"><img src="../img/kbjn.jpg" ></div><div class="face back"><h1>标题</h1><p>这是解释说明</p></div></div></body>
</html>

代码运行如下: 


总结

以上就是今天要讲的内容,本文简单记录了Transition 过渡,仅作为一份简单的笔记使用,大家根据注释理解

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

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

相关文章

使用Google 最新发布的veo-3 视频生成和数字人技术制作介绍核聚变技术的短视频:《逐梦星海:中国聚变照亮未来》

文章大纲 结合谷歌最新模型说明示例分镜提示词(基于 Gemini 2.5)最终视频生成(基于 Veo3)解说词文稿应用场景参考文献先来看看效果: 视频中混入了一些字幕,看来Google的技术还有待提高哈,里面有的托卡马克好像挺像那么回事!厉害 逐梦星海:中国聚变照亮未来 #mermaid-sv…

服务器数据恢复—Linux系统服务器崩溃且重装系统的数据恢复案例

服务器数据恢复环境&#xff1a; linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障&#xff1a; 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。 服务器数据恢复过程&#…

结构型:门面模式(外观模式)

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的&#xff1a;通过高层接口&#xff08;门面类&#xff09;封装多个子系统的复杂交互&#xff0c;客户端只需与门面交互&#xff0c;简化入口&#xff1b;同时隔离客…

MidJourney生成王昭君全身像提示词

汉服王昭君全身像&#xff0c;中国水墨融合工笔画风格&#xff0c;低饱和度暖色调&#xff0c;绢本设质感&#xff1a; 服饰细节&#xff1a;身着朱红色曲裾深衣&#xff0c;衣摆拖地三层&#xff0c;金线刺绣凤凰祥云暗纹&#xff0c;宽袖缀珍珠滚边&#xff0c;腰间白玉组佩…

GitHub 趋势日报 (2025年05月21日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1microsoft/WSLLinux的Windows子系统⭐ 1731⭐ 25184C2virattt/ai-hedge-fundA…

电子电气架构 --- 细化造车阶段流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

谈谈Oracle BUFFER CACHE的命中率

BUFFER CACHE的命中率已成为一个老生常谈的话题&#xff0c;在数据库等待事件出现之前&#xff0c;DBA进行数据库系统级优化时&#xff0c;往往会首先观察BUFFER CACHE的命中率。命中率高就意味着数据库运行正常&#xff0c;很多Oracle官方提供的巡检脚本都将BUFFER CACHE的命中…

云渲染技术解析与渲酷平台深度测评:如何实现高效3D创作?

一、云渲染技术核心原理 1.1 分布式计算架构 云渲染的本质是通过多节点并行计算实现效率突破。以动画渲染为例&#xff0c;一个30秒的动画通常包含720帧&#xff08;按24帧/秒计算&#xff09;&#xff0c;传统单机需要连续处理所有帧&#xff0c;而云渲染可将任务拆解为720个…

JavaScript-DOM-02

自定义属性&#xff1a; ​ <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

Kind方式部署k8s单节点集群并创建nginx服务对外访问

资源要求 请准备好doker环境&#xff0c;尽量用比较新的版本。我的docker环境如下 docker 环境&#xff1a; Docker version 20.10.21, build 20.10.21-0ubuntu1~18.04.3 安装kind kind表现上就是一个二进制程序&#xff0c;下载对应版本并增加执行权限即可&#xff1a; cu…

MySQL备份恢复:数据安全的终极指南

引言 各位数据库爱好者们好&#xff01;今天我们要深入探讨MySQL数据库的"生命保险"——备份与恢复策略 &#x1f6e1;️。在数据即资产的时代&#xff0c;任何数据丢失都可能造成灾难性后果。本教程将带你全面掌握从逻辑备份到物理备份&#xff0c;从二进制日志恢复…

id分页遍历数据漏行问题

令入参id为0 while(true){ select * from table where id>#{id} order by id asc limit 100; 取结果集中最大id作为下次查询的入参 其他操作 } 这个算法一般没问题&#xff0c;但在主从数据系统中&#xff0c;主库写&#xff0c;查询从库遍历数据时&#xff0c;出现了…

OpenCV级联分类器

概念 OpenCV 级联分类器是一种基于 Haar 特征、AdaBoost 算法和级联结构的目标检测方法&#xff0c;通过多阶段筛选快速排除非目标区域&#xff0c;实现高效实时检测&#xff08;如人脸、行人等&#xff09;。 加载级联分类器 // 加载级联分类器CascadeClassifier cascade;// …

C++ inline 内联函数

一、定义与设计初衷 inline 函数是 C 中通过 减少函数调用开销 优化程序效率的机制。其核心设计初衷是 取代 C 语言中宏定义&#xff08;#define&#xff09;&#xff0c;同时解决宏的以下缺陷&#xff1a; 类型安全问题&#xff1a;宏仅进行文本替换&#xff0c;无法进行参数…

uniapp-商城-64-后台 商品列表(商品修改---页面跳转,深浅copy应用,递归调用等)

完成了商品的添加和展示&#xff0c;下面的文字将继续进行商品页面的处理&#xff0c;主要为商品信息的修改的页面以及后天逻辑的处理。 本文主要介绍了商品信息修改页面的实现过程。首先&#xff0c;页面布局包括编辑和删除功能&#xff0c;未来还可添加上架和下架按钮。通过c…

digitalworld.local: VENGEANCE靶场

1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.3 3&#xff0c;对靶机进行端口服务探测 nmap -sV -T4 -p- -A 192.168.23.3 端口号 协…

微店平台店铺商品接口开发指南

微店API获取店铺所有商品实现方案 以下是使用微店开放平台API获取店铺所有商品的完整实现代码&#xff0c;包含请求封装、分页处理和错误处理机制。 点击获取key和secret from weidian_api import WeidianAPI # 配置你的微店应用凭证 APP_KEY "your_app_key" APP_…

Proxmox 主机与虚拟机全部断网问题排查与解决记录

Proxmox 主机与虚拟机全部断网问题排查与解决记录 关键词&#xff1a;Proxmox、e1000e、板载网卡、断网、网络桥接、Hardware Unit Hang、网卡挂死 背景 近期在使用 Proxmox VE 管理服务器时&#xff0c;遇到一个奇怪的问题&#xff1a;每当在某个虚拟机中执行某些操作&#x…

SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话

一、引言 随着物联网(IoT)技术的快速发展&#xff0c;MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高效的特点&#xff0c;已成为物联网设备通信的事实标准。本文将详细介绍如何使用SpringBoot框架整合MQTT协议&#xff0c;基于开源MQTT代理EMQX实现设…

zData X zStorage 为什么采用全闪存架构而非混闪架构?

点击蓝字 关注我们 最近有用户问到 zData X 的存储底座 zStorage 分布式存储为什么采用的是全闪存架构而非混闪架构&#xff1f;主要原因还是在于全闪存架构在性能和可靠性方面具有更显著的优势。zData X 的上一代产品 zData 的早期版本也使用了SSD盘作为缓存的技术架构&#x…