手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >css3让div随鼠标移动而抖动起来
css3让div随鼠标移动而抖动起来
摘要:最近发现一个网站,感觉用户体验不错,特别是一些背景图片随着鼠标的移动的反向的移动,感觉跟不错,于是就试着写了个小demo模仿一下Insert...

最近发现一个网站,感觉用户体验不错,特别是一些背景图片随着鼠标的移动的反向的移动,感觉跟不错,于是就试着写了个小demo模仿一下

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<style type="text/css">

.layer {

width:400px;

height:400px;

background-color:#FF7373;

transa

}

.A {

position: absolute;

top: 23px;

left: 10px;

}

.B {

position: absolute;

top: 223px;

left: 516px;

}

.C {

position: absolute;

top: 384px;

left: 1000px;

}

</style>

</head>

<body>

<div></div>

<div></div>

<div></div>

</body>

<script type="text/javascript">

var items = document.getElementsByClassName("layer");

document.addEventListener('mousemove', function (evt){

var x = evt.clientX;

var y = evt.clientY;

//console.log(x);

var winWidth = window.innerWidth;

var winHeight = window.innerHeight;

var halfWidth = winWidth / 2;

var halfHeight = winHeight / 2;

var rx = x - halfWidth;

var ry = halfHeight - y;

var length = items.length;

var max = 30;

for (var i = 0 ; i < length ; i++) {

var dx = (items[i].getBoundingClientRect().width/max)*(rx / -halfWidth);

var dy = (items[i].getBoundingClientRect().height/max)*(ry / halfHeight);

items[i].style['transform'] = items[i].style['-webkit-transform'] = 'translate('+dx+'px,'+dy+'px)';

}

}, false);

</script>

</html>

说明一下分别拿到每个div的长度和宽度,通过比例算出相对于窗口的合适的偏移量,max是每个div左右偏移最多不超过的值

效果展示

1

【css3让div随鼠标移动而抖动起来】相关文章:

css实现鼠标滑过改变文字(中文变英文)

一款纯css3实现的动画加载导航

css中换行的几种常用方式整理

纯CSS实现的鼠标经过文本时提示的信息

css中background-size属性使用介绍

div+css让div内部元素如单选按钮均匀分布

CSS里随滚动条滚动代码

CSS控制DIV绝对定位、相对定位的技巧

CSS布局实例:上中下三行,中间自适应

css代码兼容浏览器技巧总结

精品推荐
分类导航