资讯专栏INFORMATION COLUMN

css3过渡

Soarkey / 368人阅读

摘要:即该两个状态变化的过渡曲线一个过渡函数其取值是一个三次方的贝塞尔曲线的值。分别有四个点,对应于三次方的贝塞尔曲线。规定过渡效果开始作用之前需要等待的时间。如下过渡总写

css过渡
css过渡为一种状态到另外一种状态的变换

transition 过渡

transition 为一个简写属性,是一个transition-property (定义过渡的属性的名称)以及 transition-duration (定义过渡属性的所需动画的时间)和 transition-timing-function (描述中间值如何计算的) 以及 transition-delay (描述过渡效果开始作用之前需要等待的时间)

transition-property

transition-property 定义过渡属性的名称
即指定引用过渡属性的名称

例如要对width属性应用过渡动画,则其该属性的值为width。规定的属性动画值有在这 https://developer.mozilla.org...   该列表列出来的属性为可动画的属性。

其css如下

div {
    width:300px;
    height:400px;
    background:#698771;
}
div:hover {
    background:#ededed;
    transition-property:background;
}

html 如下




    
    
    form表单


    

由于没有设置过渡的时间,所以效果不大

transition-duration

transition-duration这是一个过渡时间的设置。
设置过渡的时间为3s

非常明显出现过渡的效果
下面是css

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:background;
    transition-duration:3s;
}
div:hover {
    background:#ededed;
    transition-property:background;
    transition-duration:3s;
}

下面是html




    
    
    form表单


    
transition-timing-function

该属性用于描述属性的中间值。即该两个状态变化的过渡曲线

single-transition-timing-function (一个过渡函数 )

其取值是一个三次方的贝塞尔曲线的值。填入一个三个值,根据贝塞尔曲线
参考 https://zh.wikipedia.org/wiki...
http://www.html-js.com/articl...
在adobe系列的软件中ai,ps等都应有了贝塞尔曲线,css中也有贝塞尔曲函数。
获取一些常见的贝塞尔曲线
github https://github.com/ai/easings...
https://easings.net/zh-cn
根据这个选择一些常见的贝塞尔曲线。
除了贝塞尔曲线以外还有一些其他的函数,依次说明

贝塞尔曲线 一个栗子

选择一个贝塞尔曲线

然后html如下




    
    
    form表单


    

其css如下

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:width;
    transition-duration:3s;
    trasition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
div:hover {
    width:100%;
    transition-property:width;
    transition-duration:3s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

其效果如下

大概解释一下

cubic-bezier为一个时序功能的类,该类有四个参数。分别有四个点,对应于三次方的贝塞尔曲线。

p0和p1为起点和终点,其中p0和p1两个值都是固定的分别为(0,0)和(1, 1)这是两个起始值和终止值,其中传入该参数的为p1和p2的值,(p1和p2的值只能在[0,1]的范围内,否则css将会忽视该属性的值)

阶跃函数 / 赫维赛德函数 / Step function

steps()定义了一个阶跃函数
定义,如果实数域上的某个函数可以用半开区间上的指示函数的有限的线性组合表示,其为阶跃函数

即,阶跃函数为有限段的分段常数函数的 组合

参考; https://en.wikipedia.org/wiki...

举栗子

steps(2, start)

start(4, end)

start 表示左连续函数 在动画开始时发生第一步
end 表示右连续函数 在动画结束时发生最后一步 为默认值

同样的该函数仅仅在[0, 1]区间内

css

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:width;
    transition-duration:3s;
}
div:hover {
    width:100%;
    transition-property:width;
    transition-duration:3s;
    transition-timing-function: steps(5, end);
}

html




    
    
    form表单


    
帧函数

https://www.w3.org/TR/css-tim...
同理根据名字可知为一帧一帧的

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:width;
    transition-duration:3s;
}
div:hover {
    width:100%;
    transition-property:width;
    transition-duration:3s;
    transition-timing-function: frames(10);
}

由于是草案,暂时不可用

一些定义的关键字 linner

一个一次函数,经过原点恒定的速率运动

ease


动画开始缓慢,急剧加速,然后逐渐减慢

ease-in


动画开始缓慢,然后逐渐加速直到结束,此时它突然停止。

ease-in-out

动画开始缓慢,加速,然后减速到最后。

ease-out


动画突然开始,然后逐渐减慢到最后。

step-start

动画会立即跳转到最终状态,直到结束。

step-end

动画保持其初始状态直到结束,此时它直接跳转到最终状态。

transition-delay

规定过渡效果开始作用之前需要等待的时间。

css如下

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:width;
    transition-duration:3s;
}
div:hover {
    width:80%;
    transition-property:width;
    transition-duration:3s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition-delay: 2s;
}
过渡总写

div {
    width:300px;
    height:400px;
    background:#698771;
    margin:auto;
    transition-property:width;
    transition-duration:3s;
}
div:hover {
    width:80%;
    background:#e8e899;
    transform:width 2s cubic-bezier(0.95, 0.05, 0.795, 0.035) .5s, background 6s cubic-bezier(0.95, 0.05, 0.795, 0.035) 5s;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/113698.html

相关文章

  • CSS3——过渡(transition)

    摘要:表示任何属性都不应用过渡,并且可以终止正在执行的过渡。提供两种计算曲线阶梯函数三次贝兹曲线。在插入元素如或改变属性后立即使用过渡元素将视为没有开始状态,始终处于结束状态。过渡取消不会触发该事件。 一、概述 CSS属性的值从一个值变成另一个值的过程叫做渐变,重点突出变化的过程。CSS3 transition系列属性可控制这个变化过程,使得属性值变化过程更加平滑。一个过渡应包含这几个属性:...

    leejan97 评论0 收藏0
  • CSS3过渡和动画

    摘要:转化的转化分为以下几种移动旋转缩放倾斜混合每种转化都还有对应的版本注意闭合的内联元素不支持转化,过渡和动画如等。 过渡和动画都是CSS3的重要部分,今天有时间,了解些相关内容并记录下。在开始之前,首先看看CSS3的转化。 转化 CSS3的转化分为以下几种: translate 移动 rotate 旋转 scale 缩放 skew 倾斜 matrix 混合 每种转化都还有对应的3d版...

    andong777 评论0 收藏0
  • css3中的变形(transform)、过渡(transition)、动画(animation)属性

    摘要:中制作动画的几个属性中的变形过渡动画。默认值为,为时,表示变化是瞬时的,看不到过渡效果。实现动画效果主要由两部分组成通过类似动画中的帧来声明一个动画在属性中调用关键帧声明的动画。 css3中制作动画的几个属性:css3中的变形(transform)、过渡(transition)、动画(animation)。 一、 CSS3变形(transform) 语法: transform : no...

    waruqi 评论0 收藏0
  • CSS3-transition常用属性及示例

    摘要:主要用来指定浏览器的过渡速度,以及过渡期间的操作进展情况,解释下注意值可以中定义自己的值,如过渡效果开始前的延迟时间,单位秒或者毫秒与的巧用示例元素上浮示例元素上浮后续还会继续补充,真心强大transition参数 语法 transition: property duration timing-function delay transition属性是个复合属性,她包括以下几个子属性: ...

    derek_334892 评论0 收藏0
  • CSS3转换过渡动画

    摘要:转换能够对元素进行移动缩放转动拉长或拉伸。和和的参数可以为。过渡该属性和配合使用,实现鼠标移入动画效果。实例动画该属性和配合使用。规则用于创建动画。在中规定某项样式,就能创建由当前样式逐渐改为新样式的动画效果。 CSS3中有三个属性:transform、transition、animation,一直容易搞混,今天特意拎出来理一理。 transform 转换 transform 能够对元...

    MonoLog 评论0 收藏0
  • CSS3-transition

    摘要:规定应用过渡的属性的名称。规定过渡效果的时间曲线。可能的值是至之间的数值。负值是允许的,这样是元素逆时针旋转。 CSS3之transition实现下划线 在这里先看看我们的demo showImg(https://segmentfault.com/img/remote/1460000014676200); 认识transition 这是CSS3中新增的一个样式,可以实现动画的过度。通常...

    acrazing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<