rin*_*hik 33 css3 css-transitions css-transforms
CSS转换和转换之间的主要区别是什么?
这两者都用于改变对象的当前形状/状态.(你可以用JS等做漂亮的动画..)
但是我仍然不清楚哪一个用于何处以及用于什么.
Con*_*ror 56
transition
并且transform
是独立的CSS属性,但可以提供transform
给transition
为"动画"的转换.transition
CSS transition
属性随着时间的推移侦听对指定属性(背景颜色,宽度,高度等)的更改.
transition
属性语法:
selector {
transtion: [property-name] [duration] [timing-function] [delay]
}
Run Code Online (Sandbox Code Playgroud)
例如,以下样式将在悬停时在1秒的时间内将div的背景颜色更改为橙色.
div {
width: 100px;
height: 100px;
background-color: yellow;
transition: background-color 1s;
/* timing function and delay not specified */
}
div:hover {
background-color: orange;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)
transform
CSS transform
属性在X,Y或Z轴上旋转/缩放/倾斜元素.它的行为与之无关transition
.简单地说,在页面加载时,元素将显示为旋转/倾斜/缩放.
现在,如果您希望旋转/倾斜/缩放发生,例如当用户悬停在元素上时,您需要"转换""转换".
方法如下:由于transition
属性的功能是监听其他css属性的更改,因此您实际上可以根据所需的触发器(例如,悬停操作)提供transform
参数transition
并对其进行"动画处理".
transform
属性语法
select {
transform: [rotate] [skew] [scale] [translate] [perspective]
}
Run Code Online (Sandbox Code Playgroud)
例如,以下样式将在悬停时在1秒的时间内旋转div.
div {
width: 100px;
height: 100px;
background-color: yellow;
transition: transform 1s;
/* timing function and delay not specified */
}
div:hover {
transform: rotate(30deg);
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)