当前位置:首页 > 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样式代码:

.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过渡属性让下拉更平滑:

.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;
}

响应式设计考虑

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

纯css制作下拉菜单

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

  .submenu {
    position: static;
  }
}

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

相关文章

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table>…

css网页制作教程下载

css网页制作教程下载

CSS网页制作教程下载资源推荐 免费在线教程平台 W3Schools(www.w3schools.com/css/)提供交互式CSS教程,涵盖基础到高级内容,支持在线练习。 MDN Web Docs(…

css 制作箭头

css 制作箭头

使用 CSS 边框制作箭头 通过调整元素的边框宽度和颜色,利用透明边框的特性可以创建箭头效果。例如,制作一个向右的箭头: .arrow-right { width: 0; height: 0…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…

css模板制作

css模板制作

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

vue实现菜单定位

vue实现菜单定位

Vue实现菜单定位的方法 使用scrollIntoView方法 通过监听菜单点击事件,获取目标元素的DOM节点,调用scrollIntoView方法实现平滑滚动定位。需配合ref获取DOM节点。 m…