11css之动画css变形函数(transfrom)、过度(transition)、动画(animation)

CSS3变形函数:

  • 是一些效果的集合
  • 如平移、旋转、缩放、倾斜效果

每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化

语法:

transform:[transform-function] *;

设置变形函数,可以是一个,也可以是多个,中间以空格分开

  • 变形函数
  • translate():平移函数,基于X、Y坐标重新定位元素的位置
  • scale():缩放函数,可以使任意元素对象尺寸发生变化
  • rotate():旋转函数,取值是一个度数值
  • skew():倾斜函数,取值是一个度数值
  • translate():

语法:

translate(tx,ty);
tx		X轴(横坐标)移动的向量长度
ty		Y轴(横坐标)移动的向量长度

上下调整的顺序为:
在这里插入图片描述
示例:

translateX(tx)
表示只设置X轴的位移
transform:translate(100px,0)     →→→      transform:translateX(100px)

translateY(ty)
表示只设置Y轴的位移
transform:translate(0,100px)     →→→      transform:translateY(100px)
  • scale():

语法:

scale(sx,sy);
sx		横向坐标(宽度)方向的缩放量
sy		纵轴坐标(高度)方向的缩放量

scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等

示例:

scaleX(sx):表示只设置X轴的缩放
transform:scale(2,0)     →→→      transform:scaleX(2)

scaleY(sy):表示只设置Y轴的缩放
transform:scale(0,2)     →→→     transform:scaleY(2)
  • skew():

语法:

skew(ax, ay);
水平方向(X轴)的倾斜角度
垂直方向(Y轴)的倾斜角度

可以仅设置沿着X轴或Y轴方向倾斜

	skewX(ax):表示只设置X轴的倾斜
	skewY(ay):表示只设置Y轴的倾斜
  • rotate():

语法:

 rotate(a);

参数a单位使用deg表示
参数a取正值时元素相对原来中心顺时针旋转

rotate( )和skew( )的区别:

rotate( )函数只是旋转,而不会改变元素的形状
skew( )函数是倾斜,元素不会旋转,会改变元素的形状

过度:

  • transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
  • CSS3 transition的过渡功能更像是一种“黄油”,通过一些CSS的简单动作触发样式平滑过渡

语法:

transition:[transition-property  transition-duration  transition-timing-function   transition-delay ] 
transition-property 		过渡或动态模拟的CSS属性
transition-duration	 	    完成过渡所需要的时间
transition-timing-function   指定过渡函数
transition-delay			过渡开始出现的延迟时间
  • 过渡属性( transition-property )
  • 定义转换动画的CSS属性名称
  • IDENT:指定的CSS属性(width、height、background-color属性等)
  • all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
  • 过渡所需的时间( transition-duration )
  • 定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)
  • 过渡动画函数( transition-timing-function )
  • 指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过添加一个函数来指定动画的快慢方式
  • ease:速度由快到慢(默认值)
  • linear:速度恒速(匀速运动)
  • ease-in:速度越来越快(渐显效果)
  • ease-out:速度越来越慢(渐隐效果)
  • ease-in-out:速度先加速再减速(渐显渐隐效果)
  • 过渡延迟时间( transition-delay )
  • 指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果
  • 正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
  • 负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
    0:默认值,元素过渡效果立即执行

过渡的触发机制:

伪类触发:伪类不太懂的可以查看 伪类

  • :hover
  • :active
  • :focus 向拥有键盘输入焦点的元素添加样式。
  • :checked
    checked伪类选择器用于选择匹配所有被选中的单选按钮(radio)或复选框(checkbox),你可以结合:checked伪类选择器和:not选择器来匹配选择没有被选中的单选按钮或复选框。
    check:不太懂可以查看···案例

媒体查询:通过@media属性判断设备的尺寸,方向等
JavaScript触发:用JavaScript脚本触发

动画(animation):

animation实现动画主要由两个部分组成

  • 通过类似Flash动画的关键帧来声明一个动画
  • 在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果

设置关键帧:
语法:

@keyframes  IDENT  {
   from {/*CSS样式写在这里*/}
   percentage {/*CSS样式写在这里*/}
   to {/*CSS样式写在这里*/}

示例:

@keyframes spread {
   0% {width:0;}
   33% {width:23px;}
   66% {width:46px;}
   100% {width:69px;}
 }

调用关键帧:

animation:animation-name  animation–duration  animation-timing-function
  	 animation-delay  animation-iteration-count  animation-direction  
	 animation-play-state  animation-fill-mode;

其中:	 
animation-name				由@keyframes  创建的动画名称
animation–duration			动画时间
animation-timing-function	动画方式
animation-delay				延迟时间
animation-iteration-count 	动画的播放次数
animation-direction			动画的播放方向
animation-play-state		动画的播放状态
animation-fill-mode			动画开始之前和结束之后发生的操作

常用的关键帧,进行介绍:

  • 动画的播放次数(animation-iteration-count)
  • 值通常为整数,默认值为1
  • 特殊值infinite,表示动画无限次播放
  • 动画的播放方向(animation-direction)
  • normal,动画每次都是循环向前播放
  • alternate,动画播放为偶数次则向前播放
  • 动画的播放状态(animation-play-state)
  • running将暂停的动画重新播放
  • paused将正在播放的元素动画停下来
  • 动画发生的操作(animation-fill-mode)
  • forwards表示动画在结束后继续应用最后关键帧的位置
  • backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
  • both表示元素动画同时具有forwards和backwards的效果

具体的示例:可以参照~~~~~浅谈动画

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值