css3动画过渡实现鼠标跟随导航效果

时间:2021-05-08

本篇文章主要介绍了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章