css-transition和transform实现图片悬浮移动动画

今天在京东首页上看到一个效果,鼠标悬浮在图片上时,图片发生移动,鼠标移走时再移回,并且有一个过渡效果。

貌似很简单,自己做做试试吧

我首先使用的是jquery在鼠标悬浮到图片上给图片增加一个类,这个类的样式使用animation实现动画效果。表面上是实现了,然后实际情况是,滚动页面时有些卡,应该是滚动时鼠标经过N个图片,大量的DOM操作严重消耗性能,所以还是采用了伪类hover,给hover应用样式实现动画。而且简单的移动使用animation有些复杂,利用transform和transition完全就够了。

1、:hover样式,我这里把moveleft应用到了图片的上层li元素。效果是水平方向向左10px,0.4s完成。注意在transform里,坐标代表left和top。

.moveleft:hover img{
    -webkit-transition: transform 0.4s;
    -o-transition: transform 0.4s;
    transition: transform 0.4s;
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px);
}

2、移动完成后,发现鼠标移走后,图片立刻回了原地,这样不太好……所以再给图片过渡样式,这样图片就可以0.4s回到原地了~

.findbrandrank-list-brand-content-list li img{
    -webkit-transition: transform 0.4s;
    -o-transition: transform 0.4s;
    transition: transform 0.4s;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}

关键时刻还是得靠W3school http://www.w3school.com.cn/cssref/pr_transform.asp

时间: 2024-11-12 00:23:53

css-transition和transform实现图片悬浮移动动画的相关文章

那些好玩的CSS - transition transform animation - 北大青鸟教员授课技术交流会

那些好玩的CSS - transition transform animation 北大青鸟教员授课技术交流会 前言: 无意间翻到了之前做的一个PPT,就想着发出来给大家分享一下. 因为公司招了不少新员工,所以经理借着那次的授课交流会,让大家彼此学习一下授课技巧 上课方式 课堂互动等等. 我做的这个是用的极客学院的PPT风格,简单地介绍了一下CSS3里面的几个动画相关的东西,transition过渡.transform变换.animation自定义动画等等. PPT内容如下: (PS:如果需要P

Css学习之transform与transition

在前端开发中,我们常常用到CSS中的transform与transition,那他们的具体用法有哪些呢?今天就和大家分享一二. transform:转换 对元素进行移动.缩放.转动.拉长或拉伸. 方法:translate(): 元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数 有两个div,它们的css样式如下: .before { width: 70px; height: 70px; background-color: #8fbc8f; } .after

用css来写一个背景图片的切换

代码如下: <!DOCTYPE HTML> <htmllang="en-US"> <head> <meta charset="UTF-8"> <title>CSS3 Full Background Slider </title> <style type="text/css"> /*字体效果*/ @import url("http://www.w3cplu

Atitti &#160;css &#160;&#160;transition&#160;Animation&#160;differ区别

Atitti  css   transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限.  1 1.2. js 动态改变 style 内容 ,样式覆盖 1 1.3. Velocity 和 GSAP2 1.1. transition的优点在于简单易用,但是它有几个很大的局限. (1)transition需要事件触发,所以没法在网页加载时自动发生. (2)transition是一次性的,不能重复发生,除非一再触发. (3)tr

Atitti css transition Animation differ区别

Atitti  css   transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限.  1 1.2. Transition是可以自动触发的使用timeout1 1.3. js 动态改变 style 内容 ,样式覆盖 2 1.4. Velocity 和 GSAP2 1.1. transition的优点在于简单易用,但是它有几个很大的局限. (2)transition是一次性的,不能重复发生,除非一再触发. (3)tran

Java SSH 项目总结——JS实现图片悬浮

前言 先说下要实现什么功能,页面上有图片,当鼠标移动到图片上时,图片呈放大悬浮的效果.试验了几种方法,比如用鼠标事件控制div中图片的显示和隐藏,还有其它方法,最后采用了开源的JS来实现图片的悬浮效果. 效果 先看下效果图,当鼠标移动到图片上时,图片就会放大悬浮到页面中间,鼠标移走时,图片就会从悬浮的页面中间消失,页面上原有的样式也不会有任何改变. 实现 看完效果图,我们来看下实现过程: <span style="font-family:KaiTi_GB2312;">//引

transition、transform、animate的区别?

1.transition.transform.animate的区别? transition:过渡效果,它有4个属性:transition: property duration timing-function delay; property :css属性的名称 duration :多长时间完成 timing-function:转速曲线 delay:开始的时候. transform: 应用于元素的2D或3D转换.这个属性允许你将元素旋转,缩放,移动,倾斜等. 旋转:rotate().缩放:scale

HTML CSS 实现鼠标悬停时图片拉近效果

前言 为了让网页的使用体验更好,我们会让网页的某些元素对鼠标的动作做出响应.例如鼠标滑过.单击按钮的时候按钮变色.变形.之前在很多网页上看到了鼠标滑过一个图片链接时图片放大.拉近的效果,今天尝试实现一下. 1. 使用background实现 思路:设置以图片作为div元素的背景,鼠标滑过div的时候通过background属性放大图片. <!DOCTYPE html> <html> <head> <meta charset="UTF-8">

CSS3 中的 transition,transform,translate 区别和作用

transform 和 translate transform指变换.变形,是css3的一个属性,和其他width,height属性一样 translate 是transform的属性值,是指元素进行2D变换,2D变换就是指,元素以当前位置(0,0)按照x轴的方向移动多少,按照y轴的方向移动多少 例如: transform:translate(0,100%) 表示从元素的当前位置延y轴方向,向下移动整个元素高度的距离 transform:translate(-20px,0) 表示从元素的当前位置