38.html5的过渡(transition)

html5的过渡(transition)

过渡(transition):通过过渡可以指定一个元素发生变化时的切换方式,从而创建一些比较好的效果,提升用户的体验。

transition-property(指定要执行过渡的属性)

transiton-duration(指定过渡效果的持续时间)

属性transition-property和 transiton-duration这两个得一起使用才有效。因为你得告诉系统你要过渡什么属性,过渡所用时间为多少,系统才能够为你准确的实现。
注意:大部分属性都支持过渡效果,但是过度时必须时从一个有效数值向另一个有效数值进行过渡。
格式:

  • transition-property:属性1,属性2,。。。,属性n;(所有的属性都想用过渡那么就直接写all)
  • transition-duration: N s/ms;(秒和毫秒,1s=1000ms,N是常数)

例子:

.box2{
	transition-property:width, height;
	transition-duration:2s;
}

完整例子1:(实现方块的变大缩小)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过渡</title>
    <link rel="stylesheet" href="../css/reset.css">
    <style>
        .box1{
            width: 600px;
            height: 600px;
            background-color: grey;
            overflow: hidden;
        }

        .box2{
            width: 100px;
            height: 100px;
            margin-bottom: 100px;
            background-color: orange;
            /*设置过渡属性和时间*/
            transition-property: width, height;
            transition-duration: 2s;
        }

        /*当鼠标移入.box1的时候,.box2的宽高都变为200px*/
        .box1:hover .box2{
            width: 200px;
            height: 200px;
        }


    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
</body>
</html>

显示:(图片会慢慢变大,耗时2s,等变到200px * 200px的时候,就会停下来,当你把鼠标移出.box1的时候,又会重新变回100px * 100px)
在这里插入图片描述
在这里插入图片描述
完整例子2(实现方块的移动):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过渡</title>
    <link rel="stylesheet" href="../css/reset.css">
    <style>
        .box1{
            width: 600px;
            height: 600px;
            background-color: grey;
            overflow: hidden;
        }

        .box2{
            width: 100px;
            height: 100px;
            margin-bottom: 100px;
            background-color: orange;
            /*设置过渡属性和时间*/
            /*transition-property: width, height;*/
            transition-property: margin;
            transition-duration: 2s;
            margin-left: 0px;
        }

        /*当鼠标移入.box1的时候,.box2的宽高都变为200px*/
        .box1:hover .box2{
            /*width: 200px;*/
            /*height: 200px;*/
            margin-left: 500px;
        }


    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
</body>
</html>

显示:(从左向右滑动)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

transition-timing-function(过渡的时序函数)

transition-timing-function:指定过渡的执行方式,可选值:

  • ease:慢速开始,先加速后减速(默认)
  • linear:匀速运动
  • ease-in:加速运动
  • ease-out:减速运动
  • ease-in-out:先加速后减速
  • cubic-bezier()来指定时序函数
    时序函数的值可以参考网址:https://cubic-bezier.com/

在这里插入图片描述
在这里插入图片描述

  • steps(N):分步执行过渡效果(瞬变N次,最后一次到达终点)
    也可以设置第二个参数(start或者end),比如:
    steps(2, start),表示分两步进行,在每一秒的刚开始就动,大概1.01s到;
    steps(2, end),表示分两步进行,在每一秒刚结束才动,大概2s到。

这些个效果还是自己测试效果会好一些,就不给出截图了,直接贴一段代码,有兴趣的可以自行更换属性的值进行查看。(.box3是用来做参照物的)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过渡</title>
    <link rel="stylesheet" href="../css/reset.css">
    <style>
        .box1{
            width: 600px;
            height: 600px;
            background-color: grey;
            overflow: hidden;
        }

        .box2{
            width: 100px;
            height: 100px;
            margin-bottom: 100px;
            background-color: orange;
            /*设置过渡属性和时间*/
            /*transition-property: width, height;*/
            transition-property: margin;
            transition-duration: 2s;
            transition-timing-function: steps(2,start);
            margin-left: 0px;
        }

		/*参照物*/
        .box3{
            width: 100px;
            height: 100px;
            background-color: tomato;
            transition-property: margin;
            transition-duration: 2s;
            transition-timing-function: linear;
            margin-left: 0px;
        }

        /*当鼠标移入.box1的时候,.box1下的div标签都向右移动500px*/
        .box1:hover div{
            margin-left: 500px;
        }


    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
        <div class="box3"></div>
    </div>
</body>
</html>

transition-delay(过渡效果的延迟)

transition-delay:等待一段时间后再执行过程。
用法:transition-delay:Ns/ms(N是常数,s是秒,ms是毫秒)
比较简单,不多做介绍

transition(过渡的简写)

transition:可以同时设置过渡相关的所有属性,但是:只写一个时间代表过渡时间,写两个时间的话,第一个时间是过渡时间,第二个时间表示延迟时间。
针对上面的设置:

transition-property: margin;
transition-duration: 2s;
transition-timing-function: steps(2,start);
transition-delay: 2s;

我们可以简写成:

transition: margin 2s 2s steps(2,start);
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HTML过渡页面是指在网页中使用CSS3的transition属性来实现页面元素的平滑过渡效果。通过设置元素的属性变化,如颜色、大小、位置等,可以让页面元素在一定时间内逐渐变化,从而实现过渡效果。这种技术可以使网页更加生动、有趣,提高用户体验。 ### 回答2: HTML的transition是一种CSS3属性,用于使元素的变化过程更加流畅和平滑。通过使用transition,我们可以为元素添加动画效果,包括改变元素的尺寸、颜色、透明度、位置等。这种过渡效果可以在CSS中定义,并在HTML中应用到需要过渡效果的元素上。 要使用transition,首先需要在CSS中定义要过渡的属性,并设置过渡的持续时间、过渡的延迟时间等属性。例如,我们可以使用下面的代码定义一个div元素在改变颜色时的过渡效果: div { width: 100px; height: 100px; background-color: red; transition-property: background-color; transition-duration: 2s; transition-delay: 1s; } 在上述代码中,我们定义了一个div元素,它的背景颜色为红色,通过设置transition-property为background-color,表示我们要对背景颜色进行过渡效果。transition-duration表示过渡持续时间为2秒,transition-delay表示过渡延迟时间为1秒。 接下来,在HTML中应用CSS定义的过渡效果,只需将定义过渡效果的class应用到对应的元素上。例如,我们可以使用下面的代码将上述定义的过渡效果应用到一个div元素上: <div class="transition-effect"></div> 在上述代码中,我们将class为transition-effect的过渡效果应用到一个div元素上。这样,在div元素改变背景颜色时,就会出现一个从红色到过渡效果定义的颜色过渡的平滑动画。 总而言之,HTML的transition过渡页面可以通过CSS3的transition属性来实现,给想要添加过渡动画的元素设置相关的CSS属性,然后在HTML中应用这些定义好的过渡效果即可。这样,页面就可以呈现出更加生动、有趣的交互效果。 ### 回答3: HTML transition过渡页面是指在HTML页面中通过CSS transition属性来实现页面元素的平滑过渡效果。通过定义不同的过渡属性和过渡时间,可以实现元素的淡入淡出、移动、旋转、缩放等效果,从而改变元素的外观和位置。 在CSS中,通过transition属性来定义元素的过渡效果。可以设置过渡的属性、过渡的时间、过渡的延迟以及过渡的速度曲线。例如,可以通过以下代码实现一个元素在1秒钟内逐渐改变透明度的过渡效果: ```css div { transition: opacity 1s; } div:hover { opacity: 0.5; } ``` 在上述代码中,当鼠标悬停在div元素上时,div元素的透明度会在1秒钟内从1逐渐变为0.5,实现了一个淡出的效果。 除了透明度,transition属性还可以用于过渡其他属性,如位置、大小、颜色等。通过设置不同的过渡属性和过渡时间,可以实现更复杂和多样化的过渡效果。 需要注意的是,transition属性只能应用于可动画的CSS属性。同时,为了应用过渡效果,元素的状态需要发生变化,例如通过鼠标悬停或JavaScript事件来触发过渡效果。 总而言之,HTML transition过渡页面是使用CSS的transition属性来实现页面元素平滑过渡的一种方式。通过定义不同的过渡属性和过渡时间,可以实现元素的多种效果,提升页面的交互性和视觉效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值