CSS中有哪些过渡方式

html-css024

CSS中有哪些过渡方式,第1张

有效的过渡属性包括:background, position, border, color,margin, padding, height, width, outline, visibility, opacity, zindex,line-height, letter-spacing, word-spacing, min/maxlength/height/width, text的一些属性等等

transition-duration:time[,time]*:指定对象过渡的持续时间

transition-timing-function是transition属性里最为复杂的一个,针对的是过渡效果的特效。

五种预留特效:

linear:线性过渡。等同于贝塞尔曲线(0,0,1.0,1.0)

ease:平滑过渡。等同于贝塞尔曲线(0.25,0.1,0.25,1.0)

ease-in:由慢到快。等同于贝塞尔曲线(0.42,0,1.0,1.0)

ease-out:由快到慢。等同于贝塞尔曲线(0,0,0.58,1.0)

ease-in-out:又慢到快再到慢。等同于贝塞尔曲线(0.42,0,0.58,1.0)

transition-timing-function是transition属性里最为复杂的一个,针对的是过度效果的特效。

也可以自己制定过渡特效:cubic-bezier(number,number,number,number)。特定的贝塞尔曲线类型,4个数值需在[0,1]区间内。(贝塞尔曲线,有人也翻译为贝兹曲线)

opacity:x    x值为0~1,值越小越透明,在ie低版本的不支持

filter:alpha(opacity=x)  x值为0~100,值越小越透明, ie低版本支持filter:alpha(opacity=x)

background: rgba():也可以改变透明度,a的值为0~1,值为1时完全不透明

transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等

过渡属性( transition-property ):transition-property 过渡或动态模拟的CSS属性,property:指定的CSS属性(width、height、background-color属性等)all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all

过渡所需的时间( transition-duration ):定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)

过渡动画函数( transition-timing-function ):指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式

transition-delay 过渡开始出现的延迟时间

练习:

linear  规定以相同速度开始至结束的过渡效果

ease    规定慢速开始,然后变快,然后慢速结束的过渡效果(默认值)

ease-in 规定以慢速开始的过渡效果 (一开始会很慢 后面快结束的时候会加快)

ease-out    规定以慢速结束的过渡效果 (一开始会很快 后面快结束的时候会变慢)

ease-in-out 规定以慢速开始和结束的过渡效果

过渡延迟时间( transition-delay )正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发 2s

负值:元素过渡效果会从该时间点开始显示,之前的动作被截断 速度会变快 -2s 会出现卡顿

0:默认值,元素过渡效果立即执行

调整元素定位时重叠层的上下位置

z-index属性值:整数,默认值为0

设置了position属性时,z-index属性可以设置各元素之间的重叠高低关系,z-index值大的层位于其值小的层上方

总结:网页中的元素都含有两个堆叠层级,未设置绝对定位时所处的环境,z-index是0,设置绝对定位时所处的堆叠环境,此时层的位置由z-index的值确定,改变设置绝对定位和没有设置绝对定位的层的上下堆叠顺序,只需调整绝对定位层的z-index值即可。

 transition的语法:

transition: property duration timing-function delay

第二个参数就是过渡所需要的时间。

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8" />

    <title>HTML5学堂</title>

    <style type="text/css">

        .h5course {

            width: 200px

            height: 200px

            background-color: #39f

            /*3s就是过度的时间*/

            -webkit-transition: height 3s ease-in

            -o-transition: height 3s ease-in

            transition: height 3s ease-in

        }

        .h5course:hover {

            height: 500px

        }

    </style>

</head>

<body>

    <div class="h5course">学习HTML5,到HTML5学堂</div>

    <script src="js/jquery-3.2.1.min.js" type="text/javascript"></script>

</body>

</html>