CSS3 变形 过渡 动画
文章目录
- 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 变形 过渡 动画相关推荐
- CSS3变形透视动画总结
CSS3变形透视动画总结 1. 总览 2. 移动元素 2.1 平面移动 2.2 Z轴方向移动 2.3 XYZ轴同时控制 3. 缩放元素 3.1 元素变形原点 4. 旋转元素 5. 倾斜元素 6. 透视 ...
- CSS3变形和动画:旋转、扭曲、缩放、位移、矩阵 、原点 transform-origin、过渡属性 transition-property、过渡所需时间 transition-duration...
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 旋转.扭曲.缩放.位移.矩阵 ...
- html 图片的过渡效果,3个CSS3图片过渡动画特效
CSS 语言: CSSSCSS 确定 div { width: 200px; height: 200px; margin-top: 100px; margin-left: 100px; float: ...
- 重新想,重新看——CSS3变形,过渡与动画①
学习CSS3,觉得最难记忆的部分除了flex特性之外,就要属变形,过渡和动画部分了.作为初学者,总有种犯懒的心理,想着既然IE8浏览器都不完全支持CSS动画属性,还要考虑浏览器兼容问题,那么就不那么着 ...
- css3圆角360度转动画,target,框架集,css3过渡动画,css3圆角-阴影-透明度,运动曲线,图片文字遮罩,变形...
target 模拟后台服务器 框架集 frameset和body不合,所以如果用frameset就不能有body标签 利用框架可以把浏览器窗口划分为若干个区域,每个区域就是一个框架,在其中分别显 示不 ...
- 【CSS3初探之变形与动画】令人惊叹的CSS3
前言 这个标题比较狗血了,我一直知道CSS3可以做很多事情,但是我昨天看到一个人用CSS3华丽的画了一个太极八卦! 若是这个还可以接受,那么我今天就看见一个人用CSS3画了一个叮当猫!!!我突然就在想 ...
- CSS3知识点整理(三)----变形与动画
一.CSS3中的变形 1)旋转 rotate() rotate()函数通过指定的角度参数使元素相对原点进行旋转. 它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度. 如果这个值为正值,元 ...
- css3中变形与动画(三)
transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. anima ...
- CSS3过渡动画关键帧动画
一.过渡动画 过渡(transition)动画,就是从初始状态过渡到结束状态这个过程中所产生的动画. 所谓的状态就是指大小.位置.颜色.变形(transform)等等这些属性. Note:不是所有属性 ...
最新文章
- ux可以去哪些公司_忽略UX会如何伤害您的API以及您可以如何做
- JavaWeb 错误/异常时页面提示
- XML学习笔记01【xml_基础、xml_约束】
- struts-execl.xml
- poj-2955-Brackets-区间DP
- Oralce 日期操作
- Qt之音频播放(二)
- StandardWrapper
- python代码_Python发送邮件基础知识与代码讲解!
- 【转】java注解-最通俗易懂的讲解
- Sketchup 2022下载
- Windows10怎么改分辨率?Win10分辨率设置教程(最新)
- 如何为macOS High Sierra创建可启动的USB安装程序
- ogg19.1.0.0.4打补丁
- 天黑请闭眼 杀人游戏 规则 02
- 基于SpringBoot+vue的前后端分离学生成绩管理系统的设计与实现--毕业设计
- MATLAB函数判断绝对素数,自定义函数,找出 以内所有素数(质数)并计算它们的和,matlab...
- 看,2021年,一个普通应届生的成长之旅
- 汽轮机振动的日平均峰峰值的BP神经网络预测matlab仿真
- 程序员该考虑什么时候辞职?