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

css菜单制作教程

2026-04-02 14:28:31CSS

CSS 菜单制作基础

使用CSS制作菜单通常涉及HTML结构和CSS样式的结合。以下是一个水平导航菜单的基本实现方式:

HTML结构:

<nav class="menu">
  <ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">产品</a></li>
    <li><a href="#">服务</a></li>
    <li><a href="#">关于我们</a></li>
    <li><a href="#">联系</a></li>
  </ul>
</nav>

CSS样式:

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

.menu li {
  display: inline-block;
}

.menu li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.menu li a:hover {
  background-color: #111;
}

垂直菜单实现

将水平菜单转换为垂直菜单只需修改CSS中的display属性:

.menu li {
  display: block;
}

下拉菜单制作

创建下拉菜单需要添加一些交互效果:

HTML结构:

<li class="dropdown">
  <a href="#" class="dropbtn">产品</a>
  <div class="dropdown-content">
    <a href="#">产品1</a>
    <a href="#">产品2</a>
    <a href="#">产品3</a>
  </div>
</li>

CSS样式:

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

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown:hover .dropdown-content {
  display: block;
}

响应式菜单设计

针对移动设备,可以创建汉堡菜单:

HTML结构:

<div class="topnav">
  <a href="#" class="active">Logo</a>
  <div id="myLinks">
    <a href="#">首页</a>
    <a href="#">产品</a>
    <a href="#">服务</a>
  </div>
  <a href="javascript:void(0);" class="icon" onclick="toggleMenu()">
    <i class="fa fa-bars"></i>
  </a>
</div>

CSS样式:

.topnav {
  overflow: hidden;
  background-color: #333;
  position: relative;
}

.topnav #myLinks {
  display: none;
}

.topnav a {
  color: white;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  display: block;
}

.topnav a.icon {
  background: black;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}

.active {
  background-color: #04AA6D;
  color: white;
}

JavaScript交互:

function toggleMenu() {
  var x = document.getElementById("myLinks");
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}

菜单动画效果

为菜单添加过渡动画可以增强用户体验:

css菜单制作教程

.menu li a {
  transition: all 0.3s ease;
}

.menu li a:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.dropdown-content {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(-10px);
}

.dropdown:hover .dropdown-content {
  opacity: 1;
  transform: translateY(0);
}

分享给朋友:

相关文章

css菜单制作

css菜单制作

CSS 菜单制作方法 水平导航菜单 使用 display: inline-block 或 flexbox 可以轻松创建水平导航菜单。以下是一个基本示例: <nav> <ul c…

vue实现菜单效果

vue实现菜单效果

Vue实现菜单效果的方法 基础菜单实现 使用Vue的v-for指令和v-show/v-if可以快速实现基础菜单。通过数据驱动的方式渲染菜单项,结合事件处理实现交互。 <template>…

vue实现伸缩菜单

vue实现伸缩菜单

Vue 实现伸缩菜单的方法 使用 v-show 或 v-if 控制显示 通过 Vue 的指令 v-show 或 v-if 可以轻松实现菜单的伸缩功能。v-show 通过 CSS 的 display 属…

vue实现环形菜单

vue实现环形菜单

实现环形菜单的基本思路 环形菜单通常指围绕中心点呈圆形排列的菜单项,点击后可能有展开或选中效果。Vue实现的核心在于计算每个菜单项的位置和动态交互。 基础HTML结构 <template>…

vue实现淘宝菜单

vue实现淘宝菜单

实现淘宝菜单的 Vue 方案 淘宝菜单通常包含多级分类、侧边栏导航、动态加载等功能。以下是基于 Vue 的实现方案: 数据结构设计 使用嵌套数组表示多级菜单: menuData: [ {…

vue实现顶部菜单

vue实现顶部菜单

使用 Vue 实现顶部菜单 在 Vue 中实现顶部菜单可以通过多种方式完成,以下是几种常见的方法。 使用 Vue Router 实现导航菜单 通过 Vue Router 可以轻松实现顶部菜单的导航功…