制作绚丽菜单是Web设计中常见的一个需求,而CSS3和JQuery easing插件提供了丰富的动画效果来实现这一目的。下面便将详细讲解如何使用CSS3和JQuery easing插件制作绚丽菜单。
1. 选用样式和插件
首先,我们需要选用可供选择的样式和插件去展示菜单效果。可以选择多种CSS样式和JQuery插件,如Animate.css、Hover.css、easing.js等。本文以Hover.css和easing.js为例来讲解。
2. 制作菜单
我们可以使用如下代码实现一个简单的菜单:
<nav class="menu">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
3. 添加样式和JQuery插件
下面便是制作起来最麻烦的部分。我们需要使用CSS3和JQuery easing插件对菜单进行动画处理,并实现绚丽的效果。通过如下代码可添加样式:
.menu ul {
margin: 0;
padding: 0;
list-style-type: none;
text-align: center;
position: relative;
z-index: 1000;
}
.menu li {
display: inline-block;
margin: 10px;
position: relative;
padding-bottom: 5px;
text-transform: uppercase;
}
.menu li a {
padding: 4px 8px;
font-weight: 700;
font-size: 18px;
text-decoration: none;
color: #000;
display: inline-block;
}
.menu li:after {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
content: '';
background: #000;
opacity: 0;
transition: opacity .2s ease-out;
}
.menu li:hover:after,
.menu li:focus:after {
opacity: 1;
}
我们可以使用如下代码添加JQuery easing插件:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>
4. 动画效果
最后一步是为菜单添加动画效果。我们可以使用Hover.css和easing.js来添加平滑的动画。下面是代码实现:
.menu li {
display: inline-block;
margin: 10px;
position: relative;
padding-bottom: 5px;
text-transform: uppercase;
}
.menu li a {
padding: 4px 8px;
font-weight: 700;
font-size: 18px;
text-decoration: none;
color: #000;
display: inline-block;
position: relative;
}
.menu li a:before {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
background: #000;
content: '';
-webkit-transition: height 0.5s cubic-bezier(.7,0,.3,1);
-moz-transition: height 0.5s cubic-bezier(.7,0,.3,1);
transition: height 0.5s cubic-bezier(.7,0,.3,1);
}
.menu li a:hover:before {
height: 100%;
}
.menu > ul > li:first-of-type a:before,
.menu > ul > li:last-of-type a:before {
width: 50%;
}
.menu > ul > li:nth-of-type(2) a:before,
.menu > ul > li:nth-of-type(3) a:before {
width: 30%;
}
.menu li a span {
opacity: 0;
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translate(-50%, -20px);
-moz-transform: translate(-50%, -20px);
-ms-transform: translate(-50%, -20px);
-o-transform: translate(-50%, -20px);
transform: translate(-50%, -20px);
-webkit-transition: all 0.5s cubic-bezier(.7,0,.3,1);
-moz-transition: all 0.5s cubic-bezier(.7,0,.3,1);
-ms-transition: all 0.5s cubic-bezier(.7,0,.3,1);
-o-transition: all 0.5s cubic-bezier(.7,0,.3,1);
transition: all 0.5s cubic-bezier(.7,0,.3,1);
}
.menu li a:hover span {
opacity: 1;
-webkit-transform: translate(-50%, 20px);
-moz-transform: translate(-50%, 20px);
-ms-transform: translate(-50%, 20px);
-o-transform: translate(-50%, 20px);
transform: translate(-50%, 20px);
}
/* easing.js */
.menu li a:before {
width: 0;
}
.menu li a:hover:before {
width: 100%;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
示例1
https://codepen.io/ianlunn/pen/emJfK
示例2
https://codepen.io/sambx/pen/JXQGmP
以上就是关于“如何使用CSS3和JQuery easing 插件制作绚丽菜单”的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用CSS3和JQuery easing 插件制作绚丽菜单 - Python技术站