JS+CSS实现精美的二级导航效果代码

yizhihongxing

下面就是讲解“JS+CSS实现精美的二级导航效果代码”的完整攻略,希望能对你有所帮助。

简介

在前端开发中,常见的网站二级导航效果是用户先点击顶部的一级导航,在鼠标悬停/点击时,顶部导航会下拉出一个垂直的下拉菜单,展示二级导航的内容,并在用户离开导航时收起下拉菜单。这种效果通常需要通过JS和CSS结合实现。

实现步骤

  1. 首先创建一个HTML页面,用ul和li标签实现顶部导航和下拉菜单的结构。
  2. 为顶部导航和下拉菜单添加样式,其中下拉菜单需要设置为隐藏,等待触发事件时才会显示出来。
  3. 为顶部导航添加事件监听器,当用户进行鼠标悬停/点击事件时,显示和隐藏下拉菜单。
  4. 为下拉菜单添加动态效果,例如鼠标悬停时颜色变化等。

示例1:只使用CSS实现下拉菜单

HTML代码

<nav>
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a>
      <ul>
        <li><a href="#">Our Team</a></li>
        <li><a href="#">Our History</a></li>
        <li><a href="#">Our Mission</a></li>
      </ul>
    </li>
    <li><a href="#">Products</a>
      <ul>
        <li><a href="#">Product 1</a></li>
        <li><a href="#">Product 2</a></li>
        <li><a href="#">Product 3</a></li>
      </ul>
    </li>
    <li><a href="#">Services</a>
      <ul>
        <li><a href="#">Service 1</a></li>
        <li><a href="#">Service 2</a></li>
        <li><a href="#">Service 3</a></li>
      </ul>
    </li>
    <li><a href="#">Contact Us</a></li>
  </ul>
</nav>

CSS代码

nav ul {
  margin: 0;
  padding: 0;
}

nav ul li {
  display: inline-block;
  position: relative;
}

nav ul ul {
  display: none;
}

nav ul li:hover > ul {
  display: inherit;
}

nav ul ul ul {
  margin-left: 100%;
  top: 0;
}

nav ul ul li {
  position: relative;
}

nav ul ul li a {
  background-color: #fff;
  color: #000;
  width: 200px;
  padding: 5px 0;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

nav ul ul li a:hover {
  background-color: #ddd;
}

示例2:使用JS实现下拉菜单的切换

HTML代码

<nav>
  <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a>
      <ul>
        <li><a href="#">Our Team</a></li>
        <li><a href="#">Our History</a></li>
        <li><a href="#">Our Mission</a></li>
      </ul>
    </li>
    <li><a href="#">Products</a>
      <ul>
        <li><a href="#">Product 1</a></li>
        <li><a href="#">Product 2</a></li>
        <li><a href="#">Product 3</a></li>
      </ul>
    </li>
    <li><a href="#">Services</a>
      <ul>
        <li><a href="#">Service 1</a></li>
        <li><a href="#">Service 2</a></li>
        <li><a href="#">Service 3</a></li>
      </ul>
    </li>
    <li><a href="#">Contact Us</a></li>
  </ul>
</nav>

CSS代码

nav ul {
  margin: 0;
  padding: 0;
}

nav ul li {
  display: inline-block;
  position: relative;
}

nav ul ul {
  display: none;
}

nav ul li:hover > ul {
  display: inherit;
}

nav ul ul ul {
  margin-left: 100%;
  top: 0;
}

nav ul ul li {
  position: relative;
}

nav ul ul li a {
  background-color: #fff;
  color: #000;
  width: 200px;
  padding: 5px 0;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

nav ul ul li a:hover {
  background-color: #ddd;
}

JS代码

var dropDownMenu = document.querySelectorAll('nav ul li');

//遍历菜单项并为其绑定事件
for (var i = 0; i < dropDownMenu.length; i++) {
  //为鼠标悬停事件绑定事件监听器
  dropDownMenu[i].addEventListener('mouseover', function() {
    this.querySelector('ul').style.display = 'block';
  });
  //为鼠标移出事件绑定事件监听器
  dropDownMenu[i].addEventListener('mouseout', function() {
    this.querySelector('ul').style.display = 'none';
  });
}

总结

通过上述攻略,我们可以了解到通过JS和CSS的结合,可以实现精美的二级导航效果。CSS可以帮助我们实现下拉菜单的样式,JS则可以帮助我们实现下拉菜单的切换功能。我们可以在以上示例的基础上,自己尝试进行更加细致的功能优化和样式调整,使网站导航看起来更加舒适美观。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS+CSS实现精美的二级导航效果代码 - Python技术站

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

相关文章

  • CSS旋转与翻转使用示例详解

    CSS旋转与翻转使用示例详解 前言 在网站美化中,CSS旋转与翻转是非常实用的技能之一。本文将介绍如何使用CSS旋转和翻转来为你的网站添加一些视觉上的变化。 CSS旋转 CSS旋转可以帮助你在不使用图像的情况下,改变元素的方向和角度。 使用transform属性 使用transform属性,可以控制元素的旋转方向和角度。该属性可控制多种变形效果,包括旋转、缩…

    css 2023年6月11日
    00
  • 分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)

    关于“分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)”的完整攻略,可以分为以下几个部分进行说明: 标题 首先,需要给这篇攻略一个合适的标题,比如:“CSS3实现精美炫酷效果的30个案例分享及代码解析”,这样可以更好地表达文章的主题和内容。 简介 接下来需要写一份简介,简要介绍一下这篇攻略的内容和意义,比如:“本篇攻略将分享30个采用CSS3技术实现…

    css 2023年6月10日
    00
  • javascript实现简单滚动窗口

    关于“javascript实现简单滚动窗口”的完整攻略,以下是详细的步骤。 步骤1:布局 首先,我们需要创建网页的基本布局。通常我们会将滚动窗口嵌套在一个父容器中。该父容器应该设置一个固定的高度和一个相对定位,以便子元素可以使用绝对定位进行定位。此外,您应该为子元素设置一个相对定位,并且将它们任意地分配给您需要的位置。 <div class=&quot…

    css 2023年6月10日
    00
  • CAD怎么建模盒子模型? 三维盒子的cad建模方法

    CAD怎么建模盒子模型? 在进行CAD建模时,盒子模型是非常基础和常用的建模方法之一。下面将使用Autodesk AutoCAD 2022为例,分步骤介绍CAD建模盒子模型的方法和技巧。 步骤一:设置绘图环境 在开始CAD建模之前,需要先设置好绘图环境。打开AutoCAD 2022软件,进入“新建文件”页面,选择测量单位、图纸尺寸和方向,并设置好图层,确保绘…

    css 2023年6月11日
    00
  • CSS3等相关属性制作分页导航实现代码

    下面我将为您详细讲解“CSS3等相关属性制作分页导航实现代码”的完整攻略。 1. 布局设计 首先,我们需要为分页导航设计一个基本的布局。一般情况下,我们可以采用<ul> <li>标签组合的方式来实现分页导航,如下所示: <ul class="pagination"> <li><a hr…

    css 2023年6月9日
    00
  • jQuery实现带滚动导航效果的全屏滚动相册实例

    准备工作: 本实例需要用到jQuery、fullpage.js和TweenMax.js,所以在开始之前要确保已经引入了这些库文件。 <head> <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script> <script…

    css 2023年6月10日
    00
  • bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)

    Bootstrap是由Twitter公司推出的一个前端开发框架,因为其灵活性、易用性和兼容性,被越来越多的前端工程师使用。本文将详细介绍如何在网页中使用Bootstrap的导航条、下拉菜单、轮播和栅格布局等常用功能。 一、导航条 导航条是网站中必不可少的部分之一。Bootstrap提供了一些样式和组件,使得我们能够快速地创建漂亮的导航条。以下是一个创建Boo…

    css 2023年6月11日
    00
  • 使用CSS媒体查询和JavaScript判断浏览器设备类型的好方法

    下面我将详细讲解如何使用CSS媒体查询和JavaScript判断浏览器设备类型,并提供两个示例说明。 使用CSS媒体查询 CSS媒体查询可以在CSS中给不同的设备类型应用不同的样式。通过媒体查询,我们可以根据浏览器窗口的大小、分辨率、设备类型等特性,来为不同的设备应用不同的样式。 媒体查询是通过@media语句来定义的,例如: /* 移动设备样式 */ @m…

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