如何使用CSS3和JQuery easing 插件制作绚丽菜单

yizhihongxing

制作绚丽菜单是Web设计中常见的一个需求,而CSS3和JQuery easing插件提供了丰富的动画效果来实现这一目的。下面便将详细讲解如何使用CSS3和JQuery easing插件制作绚丽菜单。

1. 选用样式和插件

首先,我们需要选用可供选择的样式和插件去展示菜单效果。可以选择多种CSS样式和JQuery插件,如Animate.cssHover.csseasing.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技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 纯CSS实现鼠标移动切换图片示例

    下面是“纯CSS实现鼠标移动切换图片示例”的完整攻略。 步骤一:创建HTML结构 首先,我们需要在HTML文件中定义鼠标移动切换图片的容器和图片。其中,容器用一个div元素包裹,图片则使用img元素。示例中,我们将使用两张不同的图片来进行演示。 <div class="img-container"> <img src=&…

    css 2023年6月10日
    00
  • 固定宽度 高度的页面在不同分辨率的屏幕上垂直 水平居中

    固定宽度,高度的页面在不同分辨率的屏幕上垂直,水平居中,可以按照下面的方法实现: 在 CSS 样式表中设置 body 元素、html 元素的高度为100%: body, html { height: 100%; } 使用 flexbox 来实现垂直水平居中,首先在 body 元素中设置 display:flex,将页面变成 flex 容器,然后在子元素中设置…

    css 2023年6月10日
    00
  • HTML5移动端开发中的Viewport标签及相关CSS用法解析

    让我来详细讲解“HTML5移动端开发中的Viewport标签及相关CSS用法解析”的完整攻略。 Viewport标签介绍 在移动端开发中,Viewport是一个非常关键的概念。Viewport是指浏览器视口,也就是用户当前可以看到的网页区域。而Viewport标签则是在HTML文档中指定Viewport的具体属性,来达到更好的移动端适配效果。 Viewpor…

    css 2023年6月9日
    00
  • html+css+js实现canvas跟随鼠标的小圆特效源码

    下面是详细的“html+css+js实现canvas跟随鼠标的小圆特效源码”攻略: 1. 准备工作 在开始之前,我们需要检查一下自己的开发环境是否具备以下条件: 熟悉HTML、CSS、JavaScript基础知识 了解Canvas的基本概念和用法 编辑器:推荐使用Visual Studio Code等现代化编辑器 浏览器:推荐使用Chrome、FireFox…

    css 2023年6月9日
    00
  • CSS 控制Html页面高度导致抖动问题的原因

    CSS 控制 HTML 页面高度导致抖动问题,主要是由于浏览器的渲染机制和 CSS 盒模型导致的。下面是详细的攻略: 原因分析 CSS 盒模型 在 CSS 盒模型中,一个元素的高度由 content、padding、border 和 margin 决定。当我们通过 CSS 控制元素的高度时,实际上是控制了该元素的 content 高度。 浏览器渲染机制 在浏…

    css 2023年6月9日
    00
  • 一个css与js结合的下拉菜单支持主流浏览器

    实现一个下拉菜单可以使用CSS和JavaScript相结合的方法,同时支持主流浏览器的话,可以按以下步骤进行: 第一步:HTML 结构设计 首先,我们需要设计一下 HTML 结构,这里我们使用一个简单的无序列表的结构,每个子菜单项都是一个列表项 li,其中标题部分是一个带有子菜单的 a 标签,子菜单则将放置在一个 div 中: <ul class=&q…

    css 2023年6月10日
    00
  • CSS实现一个简单loading动画效果

    让我来详细讲解一下“CSS实现一个简单loading动画效果”的完整攻略。 1. 利用CSS动画实现loading效果 CSS动画提供了一种简单又流畅的方式来实现loading效果,我们可以利用CSS3的@keyframes关键字结合transform属性和animation属性来创建一个简单的loading效果。 1.1 创建loading图形 首先,我们…

    css 2023年6月10日
    00
  • React css-in-js基础介绍与应用

    React css-in-js是指使用JavaScript对象来定义CSS样式。使用React css-in-js可以提高样式的复用性和可维护性。本文将介绍React css-in-js的基础知识以及如何在React中使用它。 1. React css-in-js基础知识 1.1 为什么使用React css-in-js? 传统的CSS样式定义方式是在CSS…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部