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

我来为你详细讲解如何实现简单的二级菜单导航的 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日

相关文章

  • CSS文字控制与文本控制属性介绍及应用示例

    CSS文字控制与文本控制属性介绍及应用示例 1. 字体属性(font) 1.1 font-family font-family 用于设置文本的字体,多个字体之间用逗号隔开。如果第一个字体不存在,那么会使用下一个字体来代替它。 以下是一个示例: p { font-family: "Georgia", "Times New Roma…

    css 2023年6月9日
    00
  • CSS使用BFC规则布局引发外层div包裹内层div的处理方法

    CSS中的BFC是指“块级格式化上下文”,通过触发元素的BFC属性,可以改变元素的渲染方式和布局规则。在特定情况下,BFC规则会导致内层div的高度溢出到外层div中,从而导致外层div包裹内层div。本文将详细讲解如何使用CSS处理这种情况。 1. BFC规则导致外层div包裹内层div的示例 HTML代码如下: <div class="o…

    css 2023年6月10日
    00
  • CSS line-height行高上下居中垂直居中样式属性

    CSS的line-height属性可以设置行间距和文字高度,同时还可以实现文本的上下居中和垂直居中。以下是详细的攻略: 基础用法 line-height的基本语法为: element { line-height: value; } 其中,element表示要设置行高的元素,value可以是一个数字、一个百分比值或者一个长度值,它们都是相对于该元素的字体大小计…

    css 2023年6月9日
    00
  • JavaScript中的各种宽高属性的实现

    讲解”JavaScript中的各种宽高属性的实现”。 在JavaScript中,我们可以利用不同的属性来获取元素或元素内容的宽高,下面是一些常用的实现方式: 元素的宽高属性 offsetWidth 和 offsetHeight offsetWidth 和 offsetHeight 属性是一个元素在包括边框和滚动条在内的整体高度和宽度,返回的单位是像素值。 &…

    css 2023年6月10日
    00
  • html工作中表格<tbody>标签的使用技巧

    当我们需要在Web页面中展示一些数据时,通常会使用表格(table)进行展示,而<tbody>标签则是定义表格的主体部分。下面是关于<tbody>标签使用技巧的攻略。 1. 什么是<tbody>标签 <tbody>标签用于定义表格的主体部分,通常在<table>标签内部使用。<tbody&gt…

    css 2023年6月10日
    00
  • element-ui如何取消el-table的hover状态(取消高亮显示)

    为取消el-table的hover状态,需要使用CSS代码来覆盖默认的样式。 以下是详细步骤: 打开调试工具,选中需要取消hover状态的表格。 在Elements选项卡中,寻找对应表格内某一单元格的HTML元素,并右键选择“检查”(或Inspect Element)。 在Styles选项卡中,找到该单元格的:hover伪类样式,即类似以下代码: .el-t…

    css 2023年6月9日
    00
  • CSS实现连续数字和英文的自动换行的方法

    要实现连续数字和英文的自动换行,可以利用CSS中的word-break和overflow-wrap两个属性。 word-break属性:用于设置换行规则,共有三个值可选。分别是: normal(默认值):只在单词的边缘处换行。 break-all:单词内部可以换行。 keep-all:只有在字符之间换行。 overflow-wrap属性:用于设置当一段文字中…

    css 2023年6月10日
    00
  • 全国哀悼日网站页面变成灰色的filter方法

    下面是详细的攻略: 1. 创建灰色filter 首先,我们需要创建一个灰色的filter来覆盖整个网页。我们可以使用CSS3中的filter属性,并结合hsl颜色模型来实现。 body { filter: grayscale(100%) brightness(70%); } 以上代码中,grayscale(100%)可以让整个网页变成灰色,而brightne…

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