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

css制作二级菜单

2026-02-26 21:50:46CSS

使用纯CSS制作二级菜单

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

HTML结构

<ul class="menu">
  <li>首页</li>
  <li>产品
    <ul class="submenu">
      <li>网页设计</li>
      <li>移动应用</li>
    </ul>
  </li>
  <li>服务
    <ul class="submenu">
      <li>咨询</li>
      <li>培训</li>
    </ul>
  </li>
</ul>

CSS样式

.menu {
  display: flex;
  list-style: none;
  background: #333;
  padding: 0;
}
.menu li {
  position: relative;
  padding: 15px 20px;
  color: white;
}
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #444;
  padding: 0;
  min-width: 150px;
}
.menu li:hover .submenu {
  display: block;
}
.submenu li {
  padding: 10px 20px;
  white-space: nowrap;
}

添加过渡动画效果

通过CSS过渡属性让二级菜单平滑出现:

css制作二级菜单

.submenu {
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  pointer-events: none;
}
.menu li:hover .submenu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

响应式设计适配

针对移动设备添加媒体查询:

@media (max-width: 768px) {
  .menu {
    flex-direction: column;
  }
  .submenu {
    position: static;
    width: 100%;
  }
}

多级嵌套菜单实现

支持三级及以上菜单的嵌套结构:

css制作二级菜单

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

浏览器兼容性处理

添加针对旧版浏览器的备用方案:

.menu li {
  *display: inline-block; /* IE7 hack */
  zoom: 1; /* IE6/7 hasLayout触发 */
}

关键点说明:

  • 使用position: relativeposition: absolute建立定位上下文
  • display: none初始隐藏二级菜单
  • :hover伪类触发显示状态变化
  • top: 100%确保二级菜单紧贴主菜单下方
  • min-width防止内容过窄导致布局问题

通过调整z-index、box-shadow等属性可以进一步增强视觉效果:

.submenu {
  z-index: 100;
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}

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

相关文章

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0;…

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成: 选择…

css制作二级菜单

css制作二级菜单

使用纯CSS制作二级菜单 通过CSS的:hover伪类和子选择器实现二级菜单的显示与隐藏。以下是一个典型的结构和样式示例: HTML结构 <nav class="menu"> &l…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav class=…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

css怎么制作首字下沉

css怎么制作首字下沉

首字下沉的实现方法 首字下沉是一种常见的排版效果,通过放大段落的首字母并使其下沉,可以增强文本的视觉吸引力。以下是几种实现方法: 使用::first-letter伪元素 通过CSS的::first-…