位置: IT常识 - 正文

〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果(大前端技术)

编辑:rootadmin
〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果 当前子专栏 基础入门三大核心篇 是免费开放阶段。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。福利:除了通过订阅"白宝书系列专栏"加入社区获取所有付费专栏的内容之外,还可以通过加入星荐官共赢计划 加入私域社区。作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,目前任某金融品类App负责人。荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计划” 发起人。现象级专栏《白宝书系列》作者,文章知识点浅显易懂且不失深度;TFS-CLUB社区创立者,旨在以“赋能 共赢”推动共建技术人成长共同体。🏆 白宝书系列 🏅 Python全栈白宝书🏅 产品思维训练白宝书🏅 全域运营实战白宝书🏅 大前端全栈架构白宝书文章目录⭐️ 过渡🌟 过渡的缓动参数🌟 贝塞尔曲线🌟 过渡效果实战

推荐整理分享〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果(大前端技术),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:大前端包括啥,大前端课程,大前端需要掌握什么技能,大前端入门指南,前端 大前端,前端 大前端,大前端入门指南,大前端需要掌握什么技能,内容如对您有帮助,希望把文章链接给更多的朋友!

上篇我们已经学会了过渡的基本使用,也知道了 “transition” 有四个参数,接下来我们来详细的学习一下 “transition” 的第三个参数 - “缓动参数” 。

⭐️ 过渡

该章节的知识点,主要是围绕 "过渡的缓动效果" 来学习的。除了 "过渡的缓动参数"、"贝塞尔曲线" 之外,还有一个实现 “缓动效果” 的小案例。

🌟 过渡的缓动参数

transition的第三个参数就是缓动参数,也是变化速度曲线。

我们之前只用到了linear值,linear就是匀速运动,实际上除了linear,还有其他四个常用的缓动参数:

上图中的曲线就是css支持的变化速度曲线。

下面直接看例子:

通过例子可以看到不同的变化速度曲线,元素移动的速度是不同的,但最终都是2s到达终点。

代码如下:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box1 { width: 1000px; height: 600px; border: 1px solid #000; } .box1 p { width: 100px; height: 100px; background-color: orange; position: relative; left: 0; transition: left 2s linear 0s; } .box1 p:nth-child(2) { transition-timing-function: ease; } .box1 p:nth-child(3) { transition-timing-function: ease-in; } .box1 p:nth-child(4) { transition-timing-function: ease-out; } .box1 p:nth-child(5) { transition-timing-function: ease-in-out; } .box1:hover p { left: 800px; } </style></head><body> <div class="box1"> <p></p> <p></p> <p></p> <p></p> <p></p> </div></body></html>

🌟 贝塞尔曲线

我们也可以自定义动画缓动参数,就是通过自定义贝塞尔曲线。

这个网站可以生成贝塞尔曲线:https://cubic-bezier.com/

进入这个网站,拖动左侧的曲线,得到想要的贝塞尔曲线。

我们的缓动参数就可以设置成这个贝塞尔曲线:大家可以实战一下,观察这个贝塞尔曲线下 元素的移动效果。

🌟 过渡效果实战

案例一

我们在上网时经常会看到鼠标移动到一个图片时,底部浮现出现一行解释的文字,这个效果是怎么实现的呢?

答:其实就是字被图片压盖,当鼠标浮上去时,字再出现在图片的上方;所有的压盖效果都需要使用绝对定位来实现。

下面我们就来做一个这样的案例:第一步,使用绝对定位,给盒子下方添加文字;再次注意:绝对定位的盒子,不写宽度无法自动撑满。

〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果(大前端技术)

第二步:通过透明度属性 opacity ,实现将鼠标浮上去时,透明图由0变成1。

第三步:利用过渡,让透明度缓慢变化,实现文字慢慢浮现的效果。

我们在实现这个例子时,用到了 "浮动"、"子绝父相对"、"过渡" 的知识点。"过渡"其实就写了一条,相对来说来是比较简单的,大家还是要多多练习实例,这样才能更好的消化学到的知识。

案例二

我们在网页中也经常会看到一些有动画效果的小图标,比如下面这种鼠标浮上去背景旋转,同时图标也会放大,这种效果是怎么实现的呢?

用到的知识点有很多,例如浮动、子绝父相、伪元素、旋转变形、过渡等。接下来我们就来实现它。

第一步:实现网页布局:

先来分析一下,四个图标处在四个盒子中,后面有一个蓝色的圆的背景,鼠标放到盒子上时,只有背景旋转,图片放大。背景图片不是标签,是无法实现独立旋转的,如果旋转盒子,图标也会跟着旋转,我们可以给盒子添加一个伪元素,给伪元素添加背景图片,旋转也是由伪元素旋转。

准备四个背景图片:

代码如下:

第二步:利用变形 + 过渡实现动画效果。

大家一定要自己从头到尾敲两遍,只看是学不会的。

案例三

这个案例,我们利用3D旋转,实现一个非常有意思的“翻盖”的动画特效:

用到的知识点有 "子绝父相"、"3D旋转"、"transform-origin属性"(用来设置旋转的原点,有两个描述值,不用刻意记忆怎么设置,做的时候多尝试几次就知道了)

第一步:实现网页布局

第二步:实现鼠标触碰时,上面的图片进行3D旋转。第一个延左边的轴打开。

第三步:将下面两个也实现动画效果。可以利用层叠的性质设置。

案例四

接下来外面看一个酷炫的特效,正方体的旋转,看起来非常有立体感:

第一步:利用3D旋转和空间移动,绘制一个正方体:

代码如下:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; } .box { width: 200px; height: 200px; border: 1px solid #000; margin: 100px auto; perspective: 300px; position: relative; } .box p { position: absolute; top: 0; left: 0; width: 200px; height: 200px; } .box p:nth-child(1) { background-color: #e6aaaa; /* 前面 */ transform: translateZ(100px); } .box p:nth-child(2) { background-color: #aae6df; /* 顶面 */ transform: rotateX(90deg) translateZ(100px); } .box p:nth-child(3) { background-color: #f3a6de; /* 背面 */ transform: rotateX(180deg) translateZ(100px); } .box p:nth-child(4) { background-color: #84afef; /* 下面 */ transform: rotateX(-90deg) translateZ(100px); } .box p:nth-child(5) { background-color: #edef84; /* 左面 */ transform: rotateY(90deg) translateZ(100px); } .box p:nth-child(6) { background-color: #a6ef84; /* 左面 */ transform: rotateY(-90deg) translateZ(100px); } </style></head><body> <div class="box"> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> </div></body></html>

第二步:使整个正方体进行旋转

需要放置一个新的“大舞台”section,将上面的正方体的box当作演员。而box既是p的舞台,又是section的演员。需要做一个特殊设置:

本文链接地址:https://www.jiuchutong.com/zhishi/300868.html 转载请保留说明!

上一篇:Vue 和 React 有什么不同?(vue和react差别)

下一篇:记录-安装cuda与cudnn 及对应版本的tensorflow|pytorch(安装cuda和cudnn)

  • 一般纳税人开具的普票可以抵扣吗
  • 所得税是什么意思
  • 继续教育容易过吗
  • 控股股东无偿捐赠
  • 投资性房地产发生减值迹象均要计提减值准备
  • 小微企业减免附加税会计分录
  • 综保区和自贸区的联系
  • 其他应付款太多怎么做账务处理
  • 季度超了30万年度没超120
  • 房地产增值税怎么算抵扣土地款
  • 未取得发票的费用
  • 增值税专票逾期抵扣怎么操作
  • 现金池 印花税
  • 如果当月有未记账的凭证,系统不可以结账
  • 收到免税发票怎么做账务处理
  • 结转应交所得税属于利润分配吗
  • 劳动合同解除和终止的经济补偿
  • 共用水电费税前扣除比例
  • 携税宝的费用可以全额抵扣吗
  • 银行转贴现业务违法吗
  • 预付卡销售发票可以报销吗?
  • 个人承担的社保费有哪些
  • 建筑企业结转成本依据准则
  • 购进商品用于样品赠送的账务处理
  • 广告业文化事业建设费2023标准
  • 非经营性单位支出费用是什么
  • 如何降低融资成本率
  • 社保公积金代缴
  • touch id反应慢
  • php获取文件列表并输出
  • 办理营业执照费用和流程
  • 代发工资跨行手续怎么办
  • 房产产权置换
  • 收到银行承兑汇票的账务处理
  • 企业向股东发放现金股利会引起
  • 报销员工餐费属于哪个科目
  • 符合条件的小型微利企业,减按
  • 小规模负数发票怎么申报增值税
  • web课程设计模板
  • 简述php操作mysql数据库的基本步骤
  • 垃圾处理费计提吗
  • 现金流量表本年累计金额怎么算
  • 出租的厂房折旧记哪里
  • 研发费用资本化计入什么科目
  • 开发商需要缴纳保证金
  • 普通增值发票可以抵扣进项税吗
  • 上传附报资料是哪些资料
  • 发票超额怎么办
  • 住宿发票规格型号一栏写什么
  • 固定资产处置时发生的清理费用
  • 现金预算属于业务预算吗
  • 空调维修费入办公费还是修理费
  • 现金流量表利息支出
  • 预收账款的核算处理
  • 企业如何在没有税务登记
  • 跨月普票发票怎么红冲
  • 中小微企业有哪些企业
  • 拆迁置换安置房
  • 商品促销赠品如何分类
  • 员工拿发票报销怎么做账
  • 房地产公司员工购房
  • 库存现金的使用限额
  • 一般纳税人附加税
  • 如何开展服务
  • 合并编制报表主要有哪几种
  • 跨国企业在国外设立工厂的战略地位
  • 商品盘点库存的方法
  • mysql存储引擎面试题
  • MySQL 5.7.14 net start mysql 服务无法启动-“NET HELPMSG 3534” 的奇怪问题
  • win8系统教程
  • Ubuntu10.10 Zend FrameWork配置方法及helloworld显示
  • windows开机显示正在清理
  • nodejs数据加密
  • python引用方法
  • 如何使用nodejs
  • jquery.siblings()
  • 国家对高校食堂的最新管理规定
  • 湖北税务登记办理流程和方法
  • 要深化税收制度改革健全
  • 征管法 追征期起如何界定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设