文章目录

  • CSS3 变形 过渡 动画
    • transform(变形)
      • 概述
      • translate() 平移
      • scale() 缩放
      • skew() 倾斜
      • rotate() 旋转
      • transform-origin 中心原点
    • transition(过渡)
      • 概述
      • 说明
      • 使用
      • transition-property取值为all
    • animation(动画)
      • 概述
      • 说明
      • 使用
      • animation-play-state 播放状态
      • animation-fill-mode 动画不播放时状态
    • 动画案例

CSS3 变形 过渡 动画

在CSS3中,动画效果包括3个部分:变形(transform)、过渡(transition)、动画(animation)。

transform(变形)

概述

可以使用transform属性来实现元素的各种变形效果,如平移、缩放、旋转、倾斜等。

位移变形和相对定位非常像,也会在“老家留坑”,“行影分离”。

方法 说明
translate() 平移
scale() 缩放
skew() 倾斜
rotate() 旋转

translate() 平移

语法

transform: translateX(x);    /*沿x轴方向平移*/
transform: translateY(y);    /*沿y轴方向平移*/
transform: translate(x, y);   /*沿x轴和y轴同时平移*/

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {width: 150px;height: 100px;}.box {border: 1px dashed silver;}.current {background-color: rgb(30, 170, 250);opacity: 0.5;transform: translate(20px, 20px);}</style></head><body><div class="box"><div class="current"></div></div></body>
</html>

scale() 缩放

语法

transform: scaleX(x);    /*沿x轴方向缩放*/
transform: scaleY(y);    /*沿y轴方向缩放*/
transform: scale(x, y);   /*沿x轴和y轴同时缩放*/

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {width: 150px;height: 100px;}.box {border: 1px dashed silver;margin: 50px auto;}.current {background-color: rgb(30, 170, 250);opacity: 0.5;transform: scale(1.2, 1.5);}</style></head><body><div class="box"><div class="current"></div></div></body>
</html>

skew() 倾斜

语法

transform: skewX(x);    /*沿x轴方向倾斜*/
transform: skewY(y);    /*沿y轴方向倾斜*/
transform: skew(x, y);   /*沿x轴和y轴同时倾斜*/

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {width: 150px;height: 100px;}.box {border: 1px dashed silver;margin: 50px auto;}.current {background-color: rgb(30, 170, 250);opacity: 0.5;transform: skewY(30deg);}</style></head><body><div class="box"><div class="current"></div></div></body>
</html>

rotate() 旋转

语法

transform: rotate(angle);

说明

angle参数:表示元素相对于中心原点旋转的度数,单位为deg。如果度数为正,则表示顺时针旋转;如果度数为负,则表示逆时针旋转。

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {width: 150px;height: 100px;}.box {border: 1px dashed silver;margin: 50px auto;}.current {background-color: rgb(30, 170, 250);opacity: 0.5;transform: rotate(30deg);}</style></head><body><div class="box"><div class="current"></div></div></body>
</html>

transform-origin 中心原点

语法

transform-origin: 取值;

说明

transform-origin属性取值有两种:一种是“长度值”,另一种是“关键字”。

当取值为长度值时,单位可以为px、em和百分比等。

当取值为关键字时,transform-origin属性取值跟background-position属性取值是相似的.

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {width: 150px;height: 100px;}.box {border: 1px dashed silver;margin: 50px auto;}.current {background-color: rgb(30, 170, 250);opacity: 0.5;transform-origin: right center;transform: rotate(-90deg);}</style></head><body><div class="box"><div class="current"></div></div></body>
</html>

transition(过渡)

概述

在CSS3中,我们可以使用transition属性将元素的某一个属性从“一个属性值”在指定的时间内平滑地过渡到“另一个属性值”,从而实现动画效果。

CSS变形(transform)呈现的仅仅是一个“结果”,而CSS过渡(transition)呈现的是一个“过程”。这个所谓的“过程”,通俗来说就是一种动画变化过程,如渐渐显示、渐渐隐藏、动画快慢等

说明

语法

transition: 过渡属性 过渡时间 过渡方式 延迟时间;

transition子属性

属性 说明
transition-property 需要操作的属性
transition-duration 过渡时间
transition-timing-function 过渡速率
transition-delay 延迟时间

transition-timing-function属性

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {display: inline-block;padding: 5px 10px;border-radius: 5px;color: white;background-color: hotpink;cursor: pointer;transition: background-color 1s linear 0s;}div:hover {background-color: purple;}</style></head><body><div>hello</div></body>
</html>

transition-property取值为all

可以使用transition属性同时对多个CSS属性来实现过渡效果。

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">div {display: inline-block;width: 100px;height: 100px;border-radius: 0%;background-color: lightskyblue;transition: all 1s linear 0s;}div:hover {border-radius: 50%;background-color: purple;}</style></head><body><div></div></body>
</html>

animation(动画)

概述

在CSS3中,我们可以使用animation属性来实现元素的动画效果。

transition属性(即CSS3过渡)只能实现一次性的动画效果,而animation属性(即CSS3动画)可以实现连续性的动画效果。

说明

语法

animation:动画名称 持续时间 动画方式 延迟时间 动画次数 动画方向;

说明

animation是一个复合属性,主要包括6个子属性。

animation的子属性

属性 说明
animation-name 动画名
animation-duration 动画持续时间
animation-timing-function 动画速率变化方式
animation-delay 延迟时间
animation-iteration-count 动画播放次数
取值:1.正整数;
2.infinite,循环播放。
animation-direction 动画播放方向
取值:1.normal,正向播放(默认值);
2.reverse,反向播放;
3.alternate,奇数正向播放,偶数反向播放。
animation-fill-mode 动画不播放时状态
取值:1.none,等待期间和完成后都为开始样式(默认值);
2.forwards,等待期间为开始样式,完成后保持在最后一帧;
3.backwards,等待期间为第一帧,完成后跳转到开始样式;
4.both,等待期间为第一帧,完成后保持在最后一帧。

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">@keyframes mycolor {0% {background-color: red;}30% {background-color: blue;}60% {background-color: yellow;}100% {background-color: green;}}div {width: 100px;height: 100px;border-radius: 50px;background-color: red;}div:hover {animation: mycolor 5s linear;}</style></head><body><div></div></body>
</html>

animation-play-state 播放状态

语法

animation-play-state: 取值;

animation-play-state属性取值

属性值 说明
running 播放,默认值
paused 暂停

使用

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">@keyframes mytranslate {0% {}50% {transform: translateX(160px);}100% {}}#container {display: inline-block;width: 200px;border: 1px solid silver;}#ball {width: 40px;height: 40px;border-radius: 50%;background-color: red;animation: mytranslate 2s linear infinite;}</style><script>window.onload = function() {var ball = document.getElementById("ball");var btn_pause = document.getElementById("btn_pause");var btn_play = document.getElementById("btn_play");btn_pause.onclick = function() {ball.style.animationPlayState = "paused";}btn_play.onclick = function() {ball.style.animationPlayState = "running";}}</script></head><body><div id="container"><div id="ball"></div></div><div><button id="btn_pause">暂停</button><button id="btn_play">播放</button></div></body>
</html>

animation-fill-mode 动画不播放时状态

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>@keyframes test {0% {left: 0px;background: red;}100% {left: 300px;background: blue;}}div {width: 100px;height: 100px;background: yellow;position: relative;margin: 10px 0px;}.box1 {animation: test 4s linear 2s 1;animation-fill-mode: none;}.box2 {animation: test 4s linear 2s 1;animation-fill-mode: forwards;}.box3 {animation: test 4s linear 2s 1;animation-fill-mode: backwards;}.box4 {animation: test 4s linear 2s 1;animation-fill-mode: both;}</style></head><body><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div></body>
</html>

动画案例

CSS3 变形 过渡 动画相关推荐

  1. CSS3变形透视动画总结

    CSS3变形透视动画总结 1. 总览 2. 移动元素 2.1 平面移动 2.2 Z轴方向移动 2.3 XYZ轴同时控制 3. 缩放元素 3.1 元素变形原点 4. 旋转元素 5. 倾斜元素 6. 透视 ...

  2. CSS3变形和动画:旋转、扭曲、缩放、位移、矩阵 、原点 transform-origin、过渡属性 transition-property、过渡所需时间 transition-duration...

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 旋转.扭曲.缩放.位移.矩阵 ...

  3. html 图片的过渡效果,3个CSS3图片过渡动画特效

    CSS 语言: CSSSCSS 确定 div { width: 200px; height: 200px; margin-top: 100px; margin-left: 100px; float: ...

  4. 重新想,重新看——CSS3变形,过渡与动画①

    学习CSS3,觉得最难记忆的部分除了flex特性之外,就要属变形,过渡和动画部分了.作为初学者,总有种犯懒的心理,想着既然IE8浏览器都不完全支持CSS动画属性,还要考虑浏览器兼容问题,那么就不那么着 ...

  5. css3圆角360度转动画,target,框架集,css3过渡动画,css3圆角-阴影-透明度,运动曲线,图片文字遮罩,变形...

    target 模拟后台服务器 框架集 frameset和body不合,所以如果用frameset就不能有body标签 利用框架可以把浏览器窗口划分为若干个区域,每个区域就是一个框架,在其中分别显 示不 ...

  6. 【CSS3初探之变形与动画】令人惊叹的CSS3

    前言 这个标题比较狗血了,我一直知道CSS3可以做很多事情,但是我昨天看到一个人用CSS3华丽的画了一个太极八卦! 若是这个还可以接受,那么我今天就看见一个人用CSS3画了一个叮当猫!!!我突然就在想 ...

  7. CSS3知识点整理(三)----变形与动画

    一.CSS3中的变形 1)旋转 rotate() rotate()函数通过指定的角度参数使元素相对原点进行旋转. 它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度. 如果这个值为正值,元 ...

  8. css3中变形与动画(三)

    transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. anima ...

  9. CSS3过渡动画关键帧动画

    一.过渡动画 过渡(transition)动画,就是从初始状态过渡到结束状态这个过程中所产生的动画. 所谓的状态就是指大小.位置.颜色.变形(transform)等等这些属性. Note:不是所有属性 ...

最新文章

  1. ux可以去哪些公司_忽略UX会如何伤害您的API以及您可以如何做
  2. JavaWeb 错误/异常时页面提示
  3. XML学习笔记01【xml_基础、xml_约束】
  4. struts-execl.xml
  5. poj-2955-Brackets-区间DP
  6. Oralce 日期操作
  7. Qt之音频播放(二)
  8. StandardWrapper
  9. python代码_Python发送邮件基础知识与代码讲解!
  10. 【转】java注解-最通俗易懂的讲解
  11. Sketchup 2022下载
  12. Windows10怎么改分辨率?Win10分辨率设置教程(最新)
  13. 如何为macOS High Sierra创建可启动的USB安装程序
  14. ogg19.1.0.0.4打补丁
  15. 天黑请闭眼 杀人游戏 规则 02
  16. 基于SpringBoot+vue的前后端分离学生成绩管理系统的设计与实现--毕业设计
  17. MATLAB函数判断绝对素数,自定义函数,找出 以内所有素数(质数)并计算它们的和,matlab...
  18. 看,2021年,一个普通应届生的成长之旅
  19. 汽轮机振动的日平均峰峰值的BP神经网络预测matlab仿真
  20. 程序员该考虑什么时候辞职?

热门文章

  1. NewLife.XCode 上手指南
  2. jsp内置对象和作用
  3. 5 岁的世界,我真的不懂
  4. CDR中如何把一个字分割成两半
  5. 【开源教程26】疯壳·开源编队无人机-360 度翻滚
  6. Linux目录结构树状图
  7. 怎么查看服务器的运行状况,管理运行状况设置和服务器运行状况
  8. 中医笔记1-悟道修身、生命的认识、神通
  9. Android使用WebView加载网页及数据
  10. java 高内聚低耦合_关于高内聚低耦合概念的理解