<…">
当前位置:首页 > 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);
}

分享给朋友:

相关文章

vue实现左右菜单

vue实现左右菜单

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

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 基于路由的动态菜单 在 Vue 项目中,可以利用 Vue Router 实现动态菜单。首先定义路由配置,包含菜单所需的元信息(如标题、图标等)。 const routes =…

vue实现联动菜单

vue实现联动菜单

实现联动菜单的基本思路 在Vue中实现联动菜单的核心在于数据绑定和事件监听。通过v-model绑定下拉菜单的值,利用watch或computed监听变化,动态更新下一级菜单的选项。 基础实现方法 创…

vue 底部菜单实现

vue 底部菜单实现

实现 Vue 底部菜单的方法 使用 v-if 或 v-show 控制显示 在 Vue 中可以通过条件渲染控制底部菜单的显示与隐藏。v-if 适合动态切换频率较低的场景,v-show 适合频繁切换的场景…

vue实现悬浮菜单

vue实现悬浮菜单

实现悬浮菜单的基本思路 使用Vue实现悬浮菜单通常需要结合CSS定位和Vue的事件监听。核心是通过v-show或v-if控制菜单显隐,通过鼠标事件触发状态变化。 HTML结构示例 <templ…

vue实现级联菜单

vue实现级联菜单

实现级联菜单的基本思路 Vue中实现级联菜单通常需要以下关键点:数据结构的组织、组件间的通信、动态渲染子菜单。一般采用递归组件或逐层渲染的方式实现。 数据结构设计 级联菜单的数据通常为嵌套结构,例如…