从零开始学前端:过渡和动画 --- 今天你学习了吗?(Day20)

42 篇文章 0 订阅

从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(Day20)

复习:从零开始学前端:flex布局 — 今天你学习了吗?(Day19)

文章目录

前言

emmm,别问我为什么忽然跳章节了,问就是补了,没补上,但是也不能落下新课,后期补的话,相当于自学,老师讲的知识就留不住了。

一、什么是过渡

1. 网页标题logo的设置

网页标题logo一般都是使用专门的图片,是以.ico结尾的图片。
ico图标生产网址:https://www.bitbug.net/
在网页头部标签中使用:<link rel="shortcut icon" href="favicon.ico">
注意:一般我们的这张图片都放在根目录下面,不会和其他图片放一起。

在这里插入图片描述

2. 什么是过渡

鼠标移动到一个元素上面,元素发生变化,鼠标移走,变化消失,这是一个动态的过程,这就是过渡
CSS过渡允许您在给定的时间内平滑地改变属性值。
通过过渡可以指定一个属性发生变化的切换方式。
通过过渡可以创建一些非常好的效果,提升用户体验,提升用户体验感。
使用过渡就是使用我们这一个,transition这一属性。

二、过渡的属性

  1. transition【复合写法,用于将四个过渡属性设置为单一属性】

语法:transition: property duration timing-function delay;
语法中前两个属性是必须的

实例:
原图:
在这里插入图片描述
鼠标悬浮后:在这里插入图片描述代码:

<!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>过渡</title>
    <style>
        .one{
            width: 400px;
            height: 400px;
            border: 5px solid purple;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: teal;
            transition: all 2s;
        }
        .one:hover .two{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two">
        </div>
    </div>
</body>
</html>
  1. transition-duration【规定过渡效果要持续多少秒或者多少毫秒。属性值:时间,必须属性】
  2. transition-delay【规定过渡效果的延迟(以秒计)。属性值:时间】
  3. transition-property【规定过渡效果所针对的CSS属性的名称。】
  4. transition-timing-function【规定过渡效果的速度曲线。】
    这其中的属性值不分顺序的,但是第一个时间必定是过渡花费时间、持续时间第二个时间才是过渡延迟时间。

CSS中的transition-timing-function属性可使用的属性值:

  • ease【规定过渡效果,先缓慢开始,然后加速,然后缓慢地结束(默认)】
  • linear【规定从开始到结束具有相同速冻的过渡效果,匀速运动】
  • ease-in【规定缓慢开始的过渡效果,加速运动】
  • ease-out【规定缓慢结束的过渡效果,减速运动】
  • ease-in-out【规定以慢速开始和结束的过渡效果】
  • cubic-bezier(n,n,n,n)【允许您在三次贝塞尔函数中定义自己的值】
  • steps(n) 【分步执行】

贝塞尔函数https://cubic-bezier.com

过渡中需要注意的点

  • CSS样式中,display这个属性不能使用过渡属性(opacity可以过渡)
  • 效果的持续时间

例子:
在这里插入图片描述

代码:

<!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>过渡</title>
    <style>
        .one{
            width: 400px;
            height: 400px;
            border: 5px solid purple;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: teal;
            transition-duration: 2s;
            transition-delay: 1s;
            transition-property: all;
            transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .one:hover .two{
            margin-top: 200px;
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two">
        </div>
    </div>
</body>
</html>

三、什么是动画

CSS可实现HTML元素的动画效果
动画使元素逐渐从一种样式变为另一种样式。您可以随意更改任意数量的CSS属性。相当于以前的动画片一样,需要很多张定格图像,然后连贯起来,那么渣样的一个连贯就是我们的动画了,在我们html中也是可以简单设置一些动画。那么其中一张张定格图片就是我们的关键帧。
如需使用CSS动画,您必须首先为动画指定一些关键帧。关键帧包含元素在特定时间所拥有的的样式。

四、动画的属性

  1. @keyframes【规定动画模式。设置关键帧】
  2. animation【设置所有动画属性的简写属性。除了时间后顺序要求,其他没有顺序要求】
  3. animation-name【规定@keyframes动画的名称。必须属性】
  4. animation-duration【规定动画完成一个周期应花费的时间。必须属性】
  5. animation-delay【规定动画开始的延迟。】
  6. animation-iteration-count【动画迭代次数,规定动画应播放的次数。】
    a. 自然数【1,2,3…】
    b. infinite【无限执行】
  7. animation-direction【指定动画的执行方向,定动画是向前播放、向后播放还是交替播放】
    a. normal【默认值,就是从from-to】
    b. reverse【从to-from,每次都这样】
    c. alternate【从from-to运行,回来的时候反向执行】
    d. alternate-reverse【to-from运行,回来的时候反向执行】
  8. animation-timing-function【规定动画的速度曲线。和过渡的属性值一样】
  9. animation-fill-mode【规定元素在不播放动画之后时的样式(在开始前、结束后,或两者同时)。】
    a. none【默认值,在动画执行完之后,回到原来样式】
    b. forwards【动画执行完之后,会展现to的样式,基数】
    c. backwards【动画延时等待时,元素会显示from样式】
    d. both【结合了frowards和backwards】
  10. animation-play-state【指定动画的执行状态,规定动画是运行还是暂停。】
    a. running【默认值,动画执行】
    b. paused【动画暂停】

实例:
运动前:
在这里插入图片描述运动中:
在这里插入图片描述
运动后:
在这里插入图片描述代码:

<!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>
        .one{
            width: 400px;
            height: 400px;
            border: 5px solid skyblue;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: pink;
            animation-name: run;
            animation-duration: 3s;
            animation-iteration-count: infinite;
        }
        @keyframes run{
            from{
                margin-top: 5px;
                background-color: pink;
            }to{
                margin-top: 250px;
                margin-left: 200px;
                background-color: teal;
            }
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two"></div>
    </div>
</body>
</html>

菜鸟教程:
在这里插入图片描述

预习:从零开始学前端:形变 — 今天你学习了吗?(Day21)

------在今天和明天之间,有一段很长的时间;趁你还有精神的时候,学习迅速办事。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值