[前端笔记009]CSS布局之过渡、动画和变形-- transition、animation和transform

资源

过渡 transition

  • 过渡:transition,指定一个属性发生变化时的切换方式,可以创建一个动画效果,提升体验
  • transition-property:指定要执行过渡的属性,多个属性逗号隔开。大部分属性都要过渡,则使用all,大部分属性都支持过渡,需要有具体数值的,而且必须是从一个有效值向另一个有效数值进行过渡, auto不是有效数值。
    例:transition-property:width,height
  • transition-duration:指定过渡效果的持续时间,单位是 s 和 ms,可以给property中的属性分别指定时间。
    例:transition-duration:2s,100ms
  • transtion-timing-function,指定过渡的时序函数,即过渡数值的变化方式,可选值:
    1. ease,默认值,慢速开始,先加速,后减速
    2. linear,匀速运动
    3. ease-in,加速运动
    4. ease-out,减速运动
    5. ease-in-out,先加速,后减速,与ease稍有不同
    6. cubic-bezier(.25,.1,.25,1),贝塞尔曲线,来指定变化曲线,括号内容由工具生成(https://cubic-bezier.com),数字分别是官网图上两个点的坐标
    7. steps(),分部执行过渡效果,例:step(2,start/end),start,end表示在时间开始或者结束时开始过渡
  • transition-delay,过渡的延迟,等待相应时间后再执行过渡,例:transiton:2s
  • 简写属性,transition,同时执行过渡相关的属性,其中延迟在持续时间后面,其他无顺序要求,语法:transition:变化的内容 变化的持续时间 …
  • 作用,可以完成雪碧图的移动,本节对应练习项目中的米兔动画

动画 animation

  • 动画和过渡类似,实现动态效果;过渡是某些属性发生变化时触发,动画是自动触发
  • 设置动画效果必须先要设置关键帧,关键帧可以设置关键时间的帧的样式
  • 关键帧语法:@keyframes identifier{ from{} to{} },identifier自己起一个名字,相当于类名,给元素加动画时会用到
  • 例子:
@keyframes test {
	/* from表示动画开始位置,也可以使用0%  */
	from{
		margin-left: 0;
	}
	/* 指定25%的动画效果*/
	25%,50%{
		margin-right: 700px;
		animation-timing-function: ease-in;
	}
	/* to表示动画开始位置,也可以使用100%  */
	to{
		margin-right: 700px;
	}
}
  • 然后使用动画的属性设置动画样式,包括以下的:
    1. animation-name : identifier;指定对当前元素生效的关键帧名字
    2. animation-duration: 2s 动画的执行时间
    3. animation-timing-function:linear
    4. animation-delay:2s 动画的延迟时间
    5. animation-iteration-count:动画执行的次数。可选值:次数:整数;infinite:表示无限
    6. animation-direction:指定动画运行方向,可选值:
      • normal 默认值 从from向to运行,每次都这样
      • reverse 从 to 往 from
      • alternate 从from向to运行 重复时反向
      • alternate-reverse 从nto向from运行 重复时反向
    7. animation-paly-state:设置动画的执行状态。可选值:running 默认值,动画执行;pasued 动画暂停。
    8. animation-fill-mode:指定动画的填充模式,可选值:
      • none 默认值,执行完毕回到原来位置
      • forwards 动画执行完毕元素会停在动画结束的位置
      • backwards 动画延时等待时,元素就会处开始位置
      • both,兼有forwards和backwards
    9. 最后还有简写属性animation,可以设置上述的所有属性
  • 可以用来做一些动画效果,更美观,本节对应练习项目中的 米兔动画 和 钟表 的制作

变形 transform

  • 变形是指通过CSS来改变元素的形状或位置,transform 用来设置元素的变形效果
  • 变形不会影响到页面布局
  • 所有改变位置时,transform比position更好用
  • 平移:属性值如下
    1. translateX() 沿着x轴方向平移
    2. translateY() 沿着y轴方向平移
    3. translateZ() 沿着z轴方向平移
      例:transform:translateX(100px)
  • transform: translateX(50%),百分比相对自身计算,这就引申出一个居中方式
    1. 以前的居中方式,dianplay:table;vertical-align:center;text-align:center;
    2. 以前的适用于长宽已知:top:0;bottom:0;left:0;right:0;margin:auto
    3. 新的适用长宽不知的:left:50%; top:50%; transform:translateX(50%) translateY(50%)
  • translateZ(100px),改变Z轴位置,近大远小,但浏览器默认不支持透视所以看不出来,看到效果需要设置默认情况下网页的视距,如将当前视距设为800px可以这样写, html{perspective(800px)},然后translateZ就起作用了
  • 旋转:使元素沿着 x y z选转指定的角度
    1. 属性值:rotateX() rotateY() rotateZ()
    2. 例:transform:rotateY(180deg) translateZ(100px),Z,Y的顺序不同则变化不一样,设置了视距后效果更佳
    3. 可以使用rotateZ(180deg)来水平反转图片,使用backface-visibility:hidden/visibile来设置图片背部是否可见
  • 缩放:scale,对元素进行缩放,本质是拉长轴
    1. 属性值:scaleX() 水平方向缩放;scaleY() 垂直方向缩放 ;scaleZ() z方向缩放,使用很少 ;scale() 双方向缩放
    2. 例:transform:scaleX(2);X轴放大两倍,可以用于图片放大效果
  • 变形原点 :transform-origin,可以改变缩放原点
    1. 默认center,
    2. 例:transform-origin:20px 20px
  • 联合动画和变形,可以做出不断旋转的图片正方体,本节对应的项目是 图片立方体
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS3的变形(transform)、过渡(transition)、动画(animation)是CSS3中非常重要的特性,可以为网页设计带来更加丰富的交互效果和视觉体验。 1. 变形(transform) 变形是指通过CSS3中的transform属性对元素进行平移、旋转、缩放、倾斜等操作,从而改变元素的形状和位置。具体的变形方式包括: 平移(translate):移动元素的位置。 旋转(rotate):以元素中心点为轴心进行旋转。 缩放(scale):缩放元素的大小。 倾斜(skew):倾斜元素。 矩阵变形(matrix):通过矩阵变换实现复杂的变形效果。 示例代码: ``` div { transform: translate(50px, 50px); } ``` 2. 过渡(transition) 过渡是指在元素属性改变时,通过CSS3中的transition属性设置过渡时间和过渡效果,从而实现平滑的转换效果。具体的过渡方式包括: 过渡时间(transition-duration):设置过渡动画的时间,单位可以是秒(s)或毫秒(ms)。 过渡效果(transition-timing-function):设置过渡效果,常用的有linear、ease-in、ease-out、ease-in-out等。 过渡属性(transition-property):设置需要过渡的属性,可以是单个属性或多个属性。 过渡延迟(transition-delay):设置过渡动画的延迟时间。 示例代码: ``` div { transition: all 1s ease-in-out; } ``` 3. 动画(animation) 动画是指通过CSS3中的animation属性对元素进行动画效果的设置。具体的动画方式包括: 关键帧动画(@keyframes):定义一组动画序列,可以设置元素在不同时间点上的样式。 动画时间(animation-duration):设置动画持续时间,单位可以是秒(s)或毫秒(ms)。 动画速度(animation-timing-function):设置动画速度,常用的有linear、ease-in、ease-out、ease-in-out等。 动画延迟(animation-delay):设置动画延迟时间。 动画方向(animation-direction):设置动画播放方向,可以是正方向(normal)、反方向(reverse)、交替播放(alternate)等。 动画次数(animation-iteration-count):设置动画播放次数,可以是无限次(infinite)。 示例代码: ``` div { animation: myanimation 2s ease-in-out infinite; } @keyframes myanimation { 0% { transform: scale(1); } 50% { transform: scale(1.5); } 100% { transform: scale(1); } } ``` 以上就是CSS3中变形过渡动画的基本介绍和示例代码,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值