怎么样使用css3动画实现鼠标跟随导航效果?
怎么样使用css3动画实现鼠标跟随导航效果?
本篇文章主要介绍了css3动画过渡实现鼠标跟随导航效果,分享给大家,具体如下:
鼠标跟随导航效果
效果知识点:html/css布局思维, div+css讲解,css3动画,盒子模型, 浮动与定位,鼠标事件。
html代码:
<div class="wrap"> <ul> <li style="background-position:0px 0px; border-top:1px dotted #ccc;border-left:1px dotted #ccc;"></li> <li style="background-position:-230px 0px; border-top:1px dotted #ccc"></li> <li style="background-position:-460px 0px; border-top:1px dotted #ccc"></li> <li style="background-position:-690px 0px; border-top:1px dotted #ccc"></li> <li style="background-position:-920px 0px; border-top:1px dotted #ccc"></li> <li style="background-position:-1150px 0px;border-left:1px dotted #ccc;"></li> <li style="background-position:-1370px 0px"></li> <li style="background-position:-1600px 0px"></li> <li style="background-position:-1830px 0px"></li> <li style="background-position:-2060px 0px"></li> <li style="background-position:-2290px 0px;border-left:1px dotted #ccc;"></li> <li style="background-position:-2520px 0px"></li> <li style="background-position:-2750px 0px"></li> <li style="background-position:-2980px 0px"></li> <li style="background-position:-3210px 0px"></li> </ul> <div class="box"></div>
css代码:
<style> *{ margin:0px; padding:0px; } html{ height:100%; } body{ width:100%; height:100%; background:url("images/wallpaper4.jpg"); background-size:100% 100%; overflow: hidden; } .wrap{ position:relative; width:1156px; height:450px; margin:50px auto; } .wrap ul li{ position:relative; z-index:10; width:230px; height:150px; float:left; list-style:none; border-right:1px dotted #ccc; border-bottom:1px dotted #ccc; background:url("images/clients.png") no-repeat; -webkit-transition:1s; -moz-transition:1s; -ms-transition:1s; -o-transition:1s; transition:1s; } .box{ position:absolute; left:0px; top:0px; z-index:2; width:230px; height:150px; background:rgba(0,0,0,.2); -webkit-transition:1s; -moz-transition:1s; -ms-transition:1s; -o-transition:1s; transition:1s; } </style>
javascript代码:
<script> var oLi = document.getElementsByTagName("li"); var box = document.getElementsByClassName("box")[0]; for (var i = 0;i<oLi.length ;i++ ) { oLi[i].onmousemove = function(){ var _left = this.offsetLeft; var _top = this.offsetTop; box.style.left = _left + "px"; box.style.top = _top + "px"; this.style.backgroundPositionY = "-150px"; } oLi[i].onmouseout = function(){ this.style.backgroundPositionY = "0px"; } } </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持路饭。