当前位置:首页 > CSS

纯css制作下拉菜单

2026-01-08 18:13:06CSS

纯CSS下拉菜单实现方法

通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式:

HTML结构示例:

<nav class="dropdown">
  <ul>
    <li><a href="#">主菜单1</a>
      <ul class="submenu">
        <li><a href="#">子菜单1</a></li>
        <li><a href="#">子菜单2</a></li>
      </ul>
    </li>
    <li><a href="#">主菜单2</a>
      <ul class="submenu">
        <li><a href="#">子菜单3</a></li>
        <li><a href="#">子菜单4</a></li>
      </ul>
    </li>
  </ul>
</nav>

CSS样式代码:

纯css制作下拉菜单

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

.dropdown > ul > li {
  display: inline-block;
  position: relative;
}

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

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

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

.dropdown .submenu li {
  display: block;
}

.dropdown .submenu a:hover {
  background: #555;
}

关键实现原理

利用CSS的position: absolute将子菜单定位到父菜单下方。默认状态下子菜单display: none隐藏,当鼠标悬停在父菜单项时,通过:hover伪类显示子菜单。

添加过渡动画效果

可以通过CSS过渡属性让下拉更平滑:

纯css制作下拉菜单

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

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

多级下拉菜单实现

HTML结构扩展:

<li><a href="#">多级菜单</a>
  <ul class="submenu">
    <li><a href="#">二级菜单</a>
      <ul class="submenu">
        <li><a href="#">三级菜单</a></li>
      </ul>
    </li>
  </ul>
</li>

CSS调整:

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

响应式设计考虑

在移动设备上可能需要调整:

@media (max-width: 768px) {
  .dropdown > ul > li {
    display: block;
  }

  .submenu {
    position: static;
  }
}

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

相关文章

vue实现左右菜单

vue实现左右菜单

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

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

vue制作css

vue制作css

在Vue中制作CSS的方法 Vue提供了多种灵活的方式来编写和管理CSS,可以根据项目需求选择适合的方法。 使用内联样式 内联样式可以直接在Vue组件的模板中编写,适用于简单的样式需求。 <…

css 制作输入框

css 制作输入框

基础输入框样式 使用 input 或 textarea 元素创建输入框,通过 CSS 设置边框、圆角、内边距和背景色: .input-basic { border: 1px solid #ccc…

css模板制作

css模板制作

CSS 模板制作方法 制作 CSS 模板的核心是设计一套可复用的样式规则,适用于多种网页或项目。以下是具体方法: 定义基础样式 设置全局默认样式,包括字体、颜色、边距等。例如: body {…