简单的二级菜单导航实现css代码

yizhihongxing

我来为你详细讲解如何实现简单的二级菜单导航的 CSS 代码。

一、HTML 结构

首先要确定好导航的 HTML 结构。在本次攻略中,我们将使用一个无序列表 <ul> 来构建导航栏。每个一级菜单都是一个 <li> 元素,并包含一个链接,同时如果有子菜单,则需要在该 <li> 元素中嵌套一个新的 <ul> 列表用于展示子菜单。二级菜单也是一个 <li> 元素,同样包含一个链接。例如:

<ul>
  <li><a href="#">首页</a></li>
  <li>
    <a href="#">商品分类</a>
    <ul>
      <li><a href="#">手机配件</a></li>
      <li><a href="#">电子产品</a></li>
    </ul>
  </li>
  <li><a href="#">购物车</a></li>
  <li><a href="#">联系我们</a></li>
</ul>

二、基本样式的实现

接下来,我们需要写基本样式来使导航栏具有基本的展示效果,如字体大小、颜色、边框等等。

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul li {
  display: inline-block;
  position: relative;
}
ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
}
ul li:hover > ul {
  display: block;
}

上面的代码实现了以下几点:

  • 清除默认的列表样式;
  • 将导航栏的每个元素设置为 inline-block 显示,使其横向排列;
  • 给每个一级菜单项设置相对定位;
  • 给一级菜单项的链接设置基本样式;
  • 当鼠标在一级菜单项上滑过时,隐藏在该菜单项下面的二级菜单将显示。

三、二级菜单的实现

接下来,我们需要实现二级菜单的样式。我们需要将二级菜单隐藏,同时在一级菜单项的 hover 事件上显示出来。

下面的代码添加了对于二级菜单的基本样式。

ul ul {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 1;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 0;
}
ul ul li {
  display: block;
  position: relative;
}
ul ul li a {
  padding: 10px 15px;
  color: #333;
  text-decoration: none;
  display: block;
}
ul ul li:hover {
  background-color: #fff;
}

上面的代码实现了以下几点:

  • 隐藏二级菜单,并将其设置为绝对定位,放在一级菜单项的下面;
  • 将二级菜单的背景和边框颜色设置成灰色,实现与一级菜单项的区分;
  • 给二级菜单项的链接设置基本样式;
  • 当鼠标在二级菜单项上悬停时,背景颜色将变成白色。

四、完整代码

上述代码的完整实现如下:

<ul>
  <li><a href="#">首页</a></li>
  <li>
    <a href="#">商品分类</a>
    <ul>
      <li><a href="#">手机配件</a></li>
      <li><a href="#">电子产品</a></li>
    </ul>
  </li>
  <li><a href="#">购物车</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul li {
  display: inline-block;
  position: relative;
}
ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
}
ul li:hover > ul {
  display: block;
}
ul ul {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 1;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 0;
}
ul ul li {
  display: block;
  position: relative;
}
ul ul li a {
  padding: 10px 15px;
  color: #333;
  text-decoration: none;
  display: block;
}
ul ul li:hover {
  background-color: #fff;
}

五、示例说明

下面给出两个简单的实例:

示例一

<ul>
  <li><a href="#">首页</a></li>
  <li>
    <a href="#">商品分类</a>
    <ul>
      <li><a href="#">手机配件</a></li>
      <li><a href="#">电子产品</a></li>
      <li><a href="#">电脑配件</a></li>
    </ul>
  </li>
  <li><a href="#">购物车</a></li>
  <li><a href="#">联系我们</a></li>
</ul>

示例一

示例二

<ul>
  <li><a href="#">首页</a></li>
  <li>
    <a href="#">商品分类</a>
    <ul>
      <li><a href="#">手机配件</a></li>
    </ul>
  </li>
  <li>
    <a href="#">购物车</a>
    <ul>
      <li><a href="#">耳机</a></li>
      <li><a href="#">音箱</a></li>
    </ul>
  </li>
  <li><a href="#">联系我们</a></li>
</ul>

示例二

以上就是实现简单的二级菜单导航 CSS 代码的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单的二级菜单导航实现css代码 - Python技术站

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

相关文章

  • HTML5利用约束验证API来检查表单的输入数据的代码实例

    HTML5利用约束验证API来检查表单的输入数据是一种很方便的方式,它可以确保用户输入的数据符合指定的格式,提高了表单提交的成功率。下面是实现此功能的完整攻略: 1. HTML表单代码结构 首先,我们需要在HTML页面中编写表单元素。表单元素应该包含一系列表单控件,例如文本输入框、单选按钮、复选框、下拉列表等元素。在提交表单数据之前需要添加以下代码结构,其中…

    css 2023年6月10日
    00
  • CSS滤镜实现的颜色渐变翻转效果

    你好,下面是“CSS滤镜实现的颜色渐变翻转效果”的完整攻略。 概述 “CSS滤镜实现的颜色渐变翻转效果”是一种实现在鼠标悬停时,元素的颜色会发生渐变且翻转的效果,这种效果可以用CSS的滤镜属性来实现。本攻略将介绍如何利用CSS滤镜属性来实现颜色渐变翻转效果。 步骤 第一步:制作需要翻转的元素 这个步骤很简单,我们可以用一个div元素来制作需要翻转的元素。例如…

    css 2023年6月9日
    00
  • Html页面支持暗黑模式的实现

    关于 “Html页面支持暗黑模式的实现”的完整攻略,可以从以下几个方面进行介绍。 使用CSS Media Query Web 开发者可以使用CSS 媒体查询(Media Query)来实现暗黑模式下的页面样式。在 CSS 中,我们可以使用 Media Query 来该变所有浏览器输出的内容或部分更改样式表中的规则。 CSS 可以通过 prefers-colo…

    css 2023年6月10日
    00
  • vue实现设置载入动画和初始化页面动画效果

    下面我详细讲解“vue实现设置载入动画和初始化页面动画效果”的完整攻略。 1. 载入动画实现 1.1 基本思路 在Vue中,可以使用Vue的生命周期函数和异步组件的方式实现载入动画。 在开始加载数据时,可以在data中定义一个loading变量,初始值为true。当数据加载完成后,修改loading值为false,并在页面中根据loading状态显示动画效果…

    css 2023年6月10日
    00
  • CSS中的层分离编程详解

    CSS中的层分离编程详解 在前端开发中,层分离编程是一种非常重要的编程思想,它可以使我们的代码更加清晰、易于维护。在CSS中,层分离编程可以帮助我们将结构和样式分离开来,这样不仅可以提高代码的可读性,还可以减少出错的可能性。 层分离编程的概念 层分离编程是将网页中的HTML、CSS和JavaScript分解成层,每层都有自己的职责和目的。比如,HTML层就是…

    css 2023年6月9日
    00
  • JavaScript实现简易聊天对话框(加滚动条)

    下面是JavaScript实现简易聊天对话框(加滚动条)的完整攻略。 简介 这个项目的目标是实现一个简易的聊天对话框,用户可以在对话框内输入消息,同时页面支持滚动条。 准备工作 首先,我们需要准备一个HTML模板和CSS文件,用于布局和样式调整。模板如下: <!DOCTYPE html> <html lang="en"&…

    css 2023年6月10日
    00
  • React如何实现浏览器打印部分内容详析

    下面是React如何实现浏览器打印部分内容详析的完整攻略。 前置知识 在了解如何实现React打印部分内容之前,需要有以下知识: React的基础知识 CSS打印样式的基础知识,比如@media print和相关属性 前端JavaScript实现内置浏览器打印功能(比如window.print())的方法 React中实现部分内容的打印 在React中,实现…

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

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

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