介绍
CSS是一种用于给网页添加样式和布局的代码语言。从基础到高级,以下是这些属性中的一组,用于为CSS3中的动画效果创建关键帧动画和变换(transformation)。这些属性允许您控制要执行的动画类型,如缩放,旋转等,以及动画如何在时间轴上执行。
transform属性
定义
Transform属性中,可以设置旋转,缩放,移动,扭曲(skew)等。这些属性使用2D和3D坐标来移动元素。CSS3 Transitions的根本原因是将一个元素从一种样式转换为另一种样式,而不需要使用Flash等外部技术。
示例
div {
transform: rotate(30deg);
}
此css代码表示将div元素向右旋转30度。
transition属性
定义
定义了某一个css属性变化时,该变化执行的时间、执行方式等属性。这使得css属性变化更加生动,而且更加人性化。
示例
div {
background-color: cyan;
transition: background-color 2s ease;
}
div:hover {
background-color: red;
}
此css代码表示当鼠标悬停在div上时,div的背景色会慢慢由青色过渡到红色,过渡的时间是2s,在2s内过渡是平滑的(ease)。
animation属性
定义
animation属性是CSS3中另一种非常强大的CSS动画实现方式。animation属性可以把对象各种各样的动作制作成动画显示。你只需要设置好你所需要的动画,并分配给某个元素后,浏览器就会按照你的预定方式按序列显示动画效果。
示例
div {
animation: myanimation 2s infinite;
}
@keyframes myanimation {
to {
transform:rotate(360deg);
}
}
此css代码表示当代码开始执行时,div的元素以顺时针旋转360度,并在2秒内完成,然后将从开始的位置无限次地重复此操作(infinite)。
@keyframes属性
简介
@keyframes是定义一个动画,这个动画可以用在animation属性中,指定动画的执行过程,可以控制动画发生的时间,需要的动作,以及动画执行的曲线等。
示例
@keyframes move {
0% {
margin-left: 0px;
}
50% {
margin-left: 100px;
}
100% {
margin-left: 200px;
}
}
div {animation: move 1s forwards;}
此css代码表示,在1秒内,div元素将从左侧移动到右侧,从 @keyframes 属性设置的 0% 开始状态,变为 @keyframes 属性设置的 100% 完成状态。“forwards” 表示动画结束时,保持最后一帧的状态。
conclusion
CSS3提供了用于创建动画效果的属性transform、transition、animation、@keyframes。通过这些属性,可以为网页增加生动和多彩的动画效果,吸引用户的眼球,同时提高了网页的交互性。