100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > CSS过渡 变形与动画介绍

CSS过渡 变形与动画介绍

时间:2024-07-12 20:03:48

相关推荐

CSS过渡 变形与动画介绍

学习目标

掌握CSS3过渡

掌握transition的子属性

掌握CSS3动画

什么是过渡?

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

语法规则

选择器{

transition:property duration timing-function delay

}

tansition属性实现简单的动画效果

transition属性是一个复合属性,主要包含property、duration、timing-function、delay等子属性

transition属性的常用子属性主要包括:

property:规定应用过渡的CSS属性的名称

取值:

•none:没有属性会获得过渡效果 •all:默认值,所有属性获得过渡效果 •property:定义 应用过渡效果的CSS属性名称列表

duration:定义过渡效果花费的时间

取值:

•time值:以秒或毫秒计,默认是0,意味着没有任何效果

timing-function:规定过渡效果的时间曲线

取值:

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

ease:规定慢速开始,然后变快,然后慢速结束的过渡效果

ease-in:规定以慢速开始的过渡效果

ease-out:规定以慢速结束的过渡效果

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

cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值

delay:规定开始之前需要等待的时间

取值:

time值:以秒或毫秒计,默认是0

CSS变形

transform属性允许对元素应用2D转换,常见的2D转换:

倾斜、旋转、缩放、移动

语法规则

选择器{

transform:none | transiform-functions

}

tansform-functions:用于设置变形函数,可以是一个或多个变形函数列表

思考:

有了过渡和变形,为什么还需要动画?

CSS样式在多个状态中进行转换,主要组成部分是:

1.一组定义的动画关键帧

2.描述该动画的CSS声明

关键帧表示动画过程中的一个状态,多个关键帧就可以形成一组绚丽的动画。

关键帧语法

@keyframes animationname{

keyframes-selector{css-style}

}

animationname是当前动画的名称

keyframes-selector:是关键帧选择器

css-style:当前关键帧的动画状态

animation属性

animation属性,用于设置动画的名称、时间、时间曲线等属性,它是一个复合属性。

语法规则

选择器{

animation:name duration timing-function

delay iteration-count

}

tansform-functions:用于设置变形函数,可以是一个或多个变形函数列表

animation子属性

animation-name:规定@keyframes动画的名称

取值:

•keyframe name:规定需要绑定到选择器的keyframe的名称 •none:规定无动画效果(可用于覆盖来自级联的动画)

animation-duration:规定动画完成一个周期所花费的时间

取值:

time值:以秒或者毫秒计算,默认是0

animation-timing-function:规定过渡效果的时间曲线

取值:

•linear:规定以相同速度开始至结束的过渡效果 •ease:规定慢速开始,然后变快,然后慢速结束的过渡效果。 •ease-in:规定以慢速开始的过渡效果 •ease-out:规定以慢速结束的过渡效果 •ease-in-out:规定以慢速开始和结束的过渡效果 cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值。

animation-delay:规定开始之前需要等待的时间

取值:

•time值:以秒或毫秒计,默认是0

animation-iteration-count:规定动画播放的次数

取值:

•n:定义动画播放次数的数值,默认为1 •infinite:规定动画应该为无限次播放

总结

案例演示:

<!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>

img{

border-radius: 20px;

}

#box1{

margin-left: 300px;

margin-top: 30px;

float: left;

text-align: center;

}

#box2{

margin-left: 30px;

margin-top: 30px;

float: left;

text-align: center;

}

#box3{

margin-left: 30px;

margin-top: 30px;

float: left;

text-align: center;

}

#box4{

margin-left: 30px;

margin-top: 30px;

float: left;

text-align: center;

}

.shake{

width: 200px;

height: 150px;

}

.shake:hover {

animation: shake 800ms ease-in-out;

}

@keyframes shake { /* 水平抖动,核心代码 */

10%, 90% { transform: translate3d(-1px, -2px, 0); }

20%, 80% { transform: translate3d(+2px, +2px, 0); }

30%, 70% { transform: translate3d(-4px, -4px, 0); }

40%, 60% { transform: translate3d(+4px, +4px, 0); }

50% { transform: translate3d(-4px, -4px, 0); }

}

</style>

</head>

<body>

<div id="box1">

<img class ="shake" src="./图片排列/m1.jpg" alt=""><br>

<span>猫和老鼠</span>

</div>

<div id="box2">

<img class ="shake" src="./图片排列/m2.jpg" alt=""><br>

<span>猫和老鼠</span>

</div>

<div id="box3">

<img class ="shake" src="./图片排列/m3.jpg" alt=""><br>

<span>猫和老鼠</span>

</div>

<div id="box4">

<img class ="shake" src="./图片排列/m4.jpg" alt=""><br>

<span>猫和老鼠</span>

</div>

</body>

</html>

实现效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。