当前位置:首页 > CSS

css制作下拉菜单

2026-02-26 21:01:58CSS

使用纯CSS制作下拉菜单

通过CSS的:hover伪类和display属性可以实现简单的下拉菜单效果。核心思路是利用嵌套的HTML结构和CSS控制二级菜单的显示与隐藏。

HTML结构示例:

<ul class="dropdown">
  <li>主菜单1
    <ul>
      <li>子菜单1</li>
      <li>子菜单2</li>
    </ul>
  </li>
  <li>主菜单2
    <ul>
      <li>子菜单1</li>
    </ul>
  </li>
</ul>

CSS样式示例:

.dropdown {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dropdown > li {
  display: inline-block;
  position: relative;
  padding: 10px 20px;
  background: #f0f0f0;
}
.dropdown li ul {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 160px;
  padding: 0;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.dropdown li:hover > ul {
  display: block;
}

添加过渡动画效果

为下拉菜单添加平滑的显示动画可以提升用户体验,通过CSS的transitionopacity属性实现渐显效果。

改进后的CSS:

.dropdown li ul {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.dropdown li:hover > ul {
  opacity: 1;
  visibility: visible;
}

响应式下拉菜单

针对移动设备,可以通过媒体查询将下拉菜单改为全宽度显示。

响应式CSS:

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

使用CSS变量统一风格

通过CSS变量可以方便地统一修改下拉菜单的颜色和尺寸。

css制作下拉菜单

:root {
  --menu-bg: #f8f9fa;
  --menu-hover: #e9ecef;
  --menu-text: #212529;
  --menu-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.dropdown > li {
  background: var(--menu-bg);
  color: var(--menu-text);
}
.dropdown li ul {
  background: var(--menu-bg);
  box-shadow: var(--menu-shadow);
}
.dropdown > li:hover {
  background: var(--menu-hover);
}

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

相关文章

css制作按钮

css制作按钮

基础按钮样式 创建一个基础的CSS按钮样式,可以通过以下代码实现。这个例子包含了按钮的基本属性,如背景色、边框、内边距和文字样式。 .button { background-color: #4C…

css制作网站导航

css制作网站导航

使用CSS制作网站导航的方法 水平导航栏 通过display: inline-block或flexbox布局实现水平导航栏。设置背景色、间距和悬停效果增强交互性。 .navbar { backg…

css熊猫制作

css熊猫制作

使用CSS绘制熊猫的步骤 创建一个熊猫的CSS图形需要利用CSS的border-radius、box-shadow等属性来构建圆形和椭圆形元素。以下是实现方法: HTML结构 <di…

网页制作 css

网页制作 css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成。选择器指向需要样式化的HTML元素,声明块包含一个或多个用分号分隔的声明,每个声明由属性和值组成。 选择…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css制作六边形

css制作六边形

使用 CSS 制作六边形 方法一:使用 clip-path 属性 通过 clip-path 直接定义六边形的路径,简单高效且支持动画效果。 .hexagon { width: 100px;…