&l…">
当前位置:首页 > CSS

css制作二级菜单

2026-01-08 17:45:24CSS

使用纯CSS制作二级菜单

通过CSS的:hover伪类和子选择器实现二级菜单的显示与隐藏。以下是一个典型的结构和样式示例:

HTML结构

<nav class="menu">
  <ul>
    <li><a href="#">首页</a></li>
    <li>
      <a href="#">产品</a>
      <ul class="submenu">
        <li><a href="#">产品A</a></li>
        <li><a href="#">产品B</a></li>
      </ul>
    </li>
    <li><a href="#">服务</a></li>
  </ul>
</nav>

CSS样式

css制作二级菜单

.menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  background: #333;
}

.menu li {
  position: relative;
}

.menu a {
  display: block;
  padding: 10px 20px;
  color: white;
  text-decoration: none;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #444;
  min-width: 200px;
}

.menu li:hover > .submenu {
  display: block;
}

添加过渡动画效果

通过CSS过渡属性让二级菜单平滑显示:

.submenu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.menu li:hover > .submenu {
  opacity: 1;
  visibility: visible;
}

响应式设计处理

在小屏幕设备上改为垂直布局:

css制作二级菜单

@media (max-width: 768px) {
  .menu ul {
    flex-direction: column;
  }

  .submenu {
    position: static;
    width: 100%;
  }
}

多级菜单实现

对于三级及以上菜单,只需嵌套更多UL元素并调整定位:

.submenu .submenu {
  left: 100%;
  top: 0;
}

视觉增强技巧

添加箭头指示符:

.menu li.has-submenu > a::after {
  content: "▼";
  margin-left: 5px;
  font-size: 0.8em;
}

边框和阴影效果:

.submenu {
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  border: 1px solid #555;
}

标签: 菜单css
分享给朋友:

相关文章

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…

react 如何引入css

react 如何引入css

在 React 中引入 CSS 的方法 React 提供了多种引入 CSS 的方式,可以根据项目需求选择合适的方法。以下是常见的几种方式: 内联样式 内联样式直接在组件中通过 style 属性定义…

vue实现菜单定位

vue实现菜单定位

实现菜单定位的方法 在Vue中实现菜单定位功能,可以通过监听滚动事件或使用Intersection Observer API来判断当前显示的菜单项,并高亮对应的导航链接。以下是几种常见的实现方式:…

vue实现左右菜单联动实现

vue实现左右菜单联动实现

Vue 实现左右菜单联动 使用事件总线通信 在 Vue 中可以通过事件总线实现左右菜单的通信。创建一个中央事件总线实例,让左右菜单通过事件监听和触发实现联动。 // eventBus.js imp…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,…

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 selec…