首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]css3平移动画源代码

发布于 2024-11-11 15:23:32
0
31

CSS3中的平移动画效果可以通过使用transform和transition属性来实现。其中,transform属性允许我们在平面上移动元素,而transition属性则控制这个过程的动画过渡效果。移...

CSS3中的平移动画效果可以通过使用transform和transition属性来实现。其中,transform属性允许我们在平面上移动元素,而transition属性则控制这个过程的动画过渡效果。

移动元素的CSS代码:

transform: translate(50px, 100px);
-ms-transform: translate(50px, 100px); /* IE 9 */
-webkit-transform: translate(50px, 100px); /* Safari and Chrome */
-o-transform: translate(50px, 100px); /* Opera */
-moz-transform: translate(50px, 100px); /* Firefox */

其中,translate()函数的第一个参数表示元素在水平方向上的位移量,第二个参数表示元素在垂直方向上的位移量。

动画效果的CSS代码:

transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out; /* Firefox 4 */
-webkit-transition: all 1s ease-in-out; /* Safari 和 Chrome */
-o-transition: all 1s ease-in-out; /* Opera */

其中,transition属性包含四个值:属性值、过渡时间、时间函数、延迟时间(可选)。这里我们设置它对所有属性生效,过渡时间为1秒,时间函数为ease-in-out,表示动画效果从加速到减速。

最终的CSS代码为:

.box {
  width: 100px;
  height: 100px;
  background-color: red;
  transform: translate(50px, 100px);
  -ms-transform: translate(50px, 100px);
  -webkit-transform: translate(50px, 100px);
  -o-transform: translate(50px, 100px);
  -moz-transform: translate(50px, 100px);
  transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -webkit-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
} 

使用以上代码,我们可以在HTML文档中添加一个class为“box”的元素,并在JavaScript中使用它的style属性来控制它的平移动画。例如:

<div class="box"></div>

// JavaScript代码,加入html页面的script标签中
var box = document.querySelector('.box');
box.style.transform = 'translate(100px, 200px)'; 

以上,我们用CSS3实现了一个平移动画效果并在JavaScript中实现了对其的控制。注:浏览器兼容性问题可用Autoprefixer自动添加前缀。

评论
一个月内的热帖推荐
91云脑
Lv.1普通用户

62849

帖子

14

小组

291

积分

赞助商广告
站长交流