这是一款CSS3炫酷鼠标hover菜单动画特效。该特效中,当用户鼠标hover菜单项时,在菜单项底部会出现一条动画的波浪线,效果非常炫酷。
使用方法
在页面中引入style.css文件。
<script src="js/style.js"></script>
初始化插件
使用<nav>
元素来制作一个导航菜单,HTML结构如下:
js版本:
<nav> <ul class="menu"> <li><a href="#!">首页</a></li> <li><a href="#!">关于我们</a></li> <li><a href="#!">联系我们</a></li> <li><a href="#!">常见问题</a></li> </ul> </nav>
CSS样式
这个线条动画实际上是利用背景图片来制作的。在鼠标hover菜单项时,通过不断修改背景图片的位置,形成线条左波浪运动的效果。
.menu { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; max-width: 720px; margin: 0 auto; height: 70vh; list-style: none; } .menu li { width: 125px; height: 50px; -webkit-transition: background-position-x 0.9s linear; transition: background-position-x 0.9s linear; text-align: center; } .menu li a { font-size: 28px; color: #777; text-decoration: none; -webkit-transition: all 0.45s; transition: all 0.45s; } .menu li:hover { /* 这里是一张波浪线条的背景图片 */ background: url("data:image/svg+xml;......"); /* 通过line动画不断修改背景图片的位置 */ -webkit-animation: line 1s; animation: line 1s; } .menu li:hover a { color: #d94f5c; } .menu li:not(:last-child) { margin-right: 30px; } @-webkit-keyframes line { 0% { background-position-x: 390px; } } @keyframes line { 0% { background-position-x: 390px; } }
该CSS3炫酷鼠标hover菜单动画特效的原文地址为:https://codepen.io/mburakerman/pen/xpZJYL