CSS transform,过渡,动画 组织
transform
转换〜复杂转换参数的实用指南。 - 除了“原始行”字段之外的所有元素
transition-property: width, heitht, color ; trnasition-duration: 1s, 1.5s, 2s ; transition-timing-function: ease, linear, ease-in-out ; transition-delay: 0s, 1s, 0s ; transition: width 1s ease ,heitht 1.5s linear 1s, color 2s ease-in-out ;
| 无 转换 |
|---|
坐标系
1.1 在 CSS 中,直角坐标系由三个轴表示(如下):
- x 轴(水平轴)
- y 轴 ( p 轴)❙ 每个元件 都有自己的参考编号 ,并且每个轴都相对于自身移动。
2D变形时,只需要关注x轴和y轴; 3D需要添加z轴
x轴。正值位于右侧,负值位于左侧。 y 轴上的
正值
为向下,负值为向上。
Z 轴从屏幕中弹出并指向您的眼前。 z 轴上的正值离您较近,负值则离您较远。
1.2 旋转
如果元素旋转,轴也会旋转。旋转后变形是另一种用于相对旋转轴计算的坐标系
CSS 变形功能中使用的另一种坐标系 - 球坐标系

常用 ❀l translate()
- translate3d( )
- 翻译 scale3d()
- scaleX()
- scaleY ()
- ♽ )
- 旋转3d()
- 旋转Y()
- 旋转Z( )
![]()
rotate3d(x,y,z,deg) 假设旋转函数是由 rotate3d(-0.95,0.5,1.45deg) 描述的向量。假设一个立方体的边长为 200 像素,则该向量沿 x 轴的大小为 190 像素,指向左侧。 Y 轴尺寸向下 100 像素。尺寸为指向观察者的 z 轴上的 200 像素。该向量从原点 (0,0,0) (-190px,100px,200px) 指向。如下图: ps: perspective属性与 目前看到的变换有一个共同点,都是以元素的绝对中心作为变换原点。 设置元素的子元素是位于 3D 空间中还是位于平面中。 † 过滤器:无 3D 变换,背面可见性属性允许您看到元素的背面。 Transition~属性,触发功能,瞬态。 指定定义过渡效果的 CSS 属性的名称。 支持转场动画功能 指定执行转场效果需要多少秒或毫秒。 定义速度效果的速度曲线。 确定过渡效果何时开始。 动画 ~ 关键帧,互易 animation-timing-function 使用称为三次贝塞尔函数的数学函数来生成速度曲线。您可以在此函数中使用自己的值或预定义的值: 作者群:搞笑的人
度) 表示为 3D 旋转 3 d(0,0,1,45deg) 不等价。 3D模式下的变化 当采用元素的形状时,基本上需要赋予元素一定的可视性。视野提供了可以根据需要调整的元素前后深度。可以把理解为镜头的焦距
使用rotate3d()。前三个值由 3D 空间中的向量 x、y 和 z 定义。第四个值是角度值,指的是上图在3D空间中的旋转(45°),对应rotation3d(0 ,0,1,45°)。前三个数字设置 x 轴和 y 轴上大小均为 0 的向量的三个分量。 z 轴的大小为 1。因此,该向量位于 z 轴上,指向正方向,即朝向观测值。如果查看向量的原点,会发现元素顺时针旋转。
![]()
rotate3d(1,1,0.45°)和![]()
和)()()旋转 4 度 d 例如)
越大越远,越小越近;近者为大,远者为小;
有3D效果需要配置和使用下图为相同旋转角度下不同观看值得到的结果。
![]()
必须为正数且不能为零。任何其他值都会导致perspective() 函数被忽略。请记住将透视()函数放在视图变换之前。 其他
移动原点
第一个值是水平的,第二个值是垂直的,可选的第三个值是 z 轴上的长度。 ![]()
变形样式
.card {
position: relative;
perspective: 800px;
transform-style: preserve-3d;
width:200px;
height:280px;
transition: all .6s;
border: 1px solid #000;
border-radius: 4px;
}
.card:hover {
transform: rotateY(180deg);
}
img {
position: absolute;
width:100%;
height: 100%;
transition: all .5s;
backface-visibility: hidden;
}
/*由于我们将两个图像都藏在了背面,所以另一面没有任何东西。 所以接下来需要再把.front-face翻转180度*/
.back-face {
transform: rotateY(180deg);
}
<div class="card">
<img class="front-face" >
<img class="back-face" >
</div> 注意
**透视**❓❓:❓ ❙❝持续时间计时功能延迟transition-property: width, heitht, color ;
trnasition-duration: 1s, 1.5s, 2s ;
transition-timing-function: ease, linear, ease-in-out ;
transition-delay: 0s, 1s, 0s ;
transition: width 1s ease ,heitht 1.5s linear 1s, color 2s ease-in-out ;
value Description transition-property 指定定义过渡效果的 CSS 属性的名称。 transition-duration 指定完成过渡效果需要多少秒或毫秒。 transition-timing-function 定义力度效果的力度曲线。 transition-delay 决定过渡效果何时开始。 transition-property:none|all|_property_
值 描述 无 没有属性获得过渡效果。 所有 所有属性都会获得过渡效果。 property 指定应用过渡效果的 CSS 属性名称的逗号分隔列表。 transition-duration:_time_
值 描述 时间 定义执行过渡效果所需的时间(以秒或毫秒为单位)。
默认值为0,表示没有效果。 transition-timing-function
值 描述 线性 指定以相同速度开始和结束的过渡效果(与cubic-bezier(0,0,1,1) 相同)。 easy 定义了一种缓慢开始、变快然后缓慢结束的过渡效果 (cubic-bezier(0.25,0.1,0.25,1))。 ease-in 指定缓慢开始的过渡效果(与cubic-bezier(0.42,0,1,1)相同)。 ease-out 指定缓慢结束的过渡效果(与cubic-bezier(0,0,0.58,1)相同)。 ease-in-out 指定以慢速开始和结束的过渡效果(与cubic-bezier(0.42,0,0.58,1)相同)。 cubic-bezier(_n_,_n_,_n_,_n_) 在三次贝塞尔函数中指定您自己的值。可能的值介于 0 和 1 之间。 transition-delay
值 描述 时间 指定转场效果开始之前等待的时间(以秒或毫秒为单位)。 请注意,
<style>
.box {
height: 100px;
width: 100px;
border: 15px solid black;
animation: changebox 1s ease-in-out 1s infinite alternate running forwards;
}
.box:hover {
animation-play-state: paused;
}
@keyframes changebox {
10% {
background: red;
}
50% {
width: 80px;
}
70% {
border: 15px solid yellow;
}
100% {
width: 180px;
height: 180px;
}
}
</style>
<div class="box"></div>
值 描述 animation-name 指定要绑定到选择器的关键帧的名称。 。 animation-duration 指定动画完成所需的时间,以秒或毫秒为单位。 动画计时功能 定义动画的速度曲线。 animation-delay 指定动画开始之前的延迟。 animation-itration-count 指定动画应重复的次数。 动画方向 确定动画是否反向交替播放。 animation-name:_keyframe__|none;
值 描述 keyframe-name 指定绑定关键帧的名称。 none 设置无动画效果(可用于跳过级联动画)。 animation-duration:time
值 描述 时间 定义完成动画所需的时间。默认值为0,表示没有动画增强。 animation-timing-function:_value_
值 描述 线性 动画速度从开始到结束都是相同的。 简单 默认。动画以慢速开始,然后加速并减慢,最后结束。 easy 动画以慢速开始。 ease-out 动画以慢速结束。 轻松进出 动画以慢速开始和结束。 cubic-bezier(_n_,_n_,_n_,_n_) 其在三次贝塞尔函数中的自身值。可能的值为 0 到 1 之间的数值。 ?指定等待动画开始的时间(以秒或毫秒为单位)。默认值为 0。 animation-iteration-count: _n_|infinite;
值 描述 n A 的数值应重复。 无限 要求动画应无限重复。 动画方向:正常|替代;
值 描述 正常 默认值。动画应该可以正常播放。 选项 动画反向交替播放。 参考
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网