当前位置:首页 > 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
分享给朋友:

相关文章

css导航条制作

css导航条制作

基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&g…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

咖啡店css制作

咖啡店css制作

咖啡店网页CSS设计要点 布局与配色 咖啡店网页通常采用温暖自然的配色方案,如棕色、米色、浅绿色等大地色系。主色调可选择咖啡色(#6F4E37)作为品牌色,搭配奶油色(#FFF8E8)作为背景。使用C…

css如何制作响应网页

css如何制作响应网页

响应式网页设计基础 使用CSS制作响应式网页的核心是通过媒体查询(Media Queries)和弹性布局(Flexbox/Grid)实现。媒体查询允许根据设备特性(如屏幕宽度)应用不同的样式规则。…

div css制作

div css制作

使用 DIV 和 CSS 制作网页布局 DIV 是 HTML 中的块级元素,结合 CSS 可以灵活地创建各种网页布局。以下是常见的使用方法: 基础 DIV 结构 <div class="co…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container {…