当前位置:首页 > CSS

制作css纵向菜单

2026-03-12 00:58:32CSS

基础结构

使用HTML的无序列表<ul>和列表项<li>构建菜单骨架,<a>标签定义菜单项链接:

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

核心CSS样式

通过CSS移除默认列表样式,设置宽度、背景色及悬停效果:

.vertical-menu {
  width: 200px;
  list-style-type: none;
  padding: 0;
  margin: 0;
  background-color: #f1f1f1;
}

.vertical-menu li a {
  display: block;
  padding: 12px 16px;
  color: #333;
  text-decoration: none;
}

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

添加交互效果

通过CSS增强视觉反馈,如当前选中状态和过渡动画:

.vertical-menu li a.active {
  background-color: #4CAF50;
  color: white;
}

.vertical-menu li a {
  transition: background-color 0.3s ease;
}

响应式调整

使用媒体查询适配移动端,调整为全宽度菜单:

@media screen and (max-width: 600px) {
  .vertical-menu {
    width: 100%;
  }
}

高级扩展

添加下拉子菜单功能(需配合JavaScript或CSS伪类):

<li class="dropdown">
  <a href="#">更多选项 ▼</a>
  <ul class="dropdown-content">
    <li><a href="#">子项1</a></li>
    <li><a href="#">子项2</a></li>
  </ul>
</li>

对应CSS:

制作css纵向菜单

.dropdown-content {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  background-color: #f9f9f9;
  min-width: 160px;
}

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

标签: 纵向菜单
分享给朋友:

相关文章

css制作横向菜单

css制作横向菜单

使用 Flexbox 制作横向菜单 Flexbox 是制作横向菜单的现代方法,代码简洁且兼容性好。以下是一个基本实现: <nav class="horizontal-menu"> &…

vue实现联动菜单

vue实现联动菜单

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

react如何实现菜单

react如何实现菜单

使用 React 实现菜单的方法 使用状态管理控制菜单显示/隐藏 通过 useState 管理菜单的展开和收起状态,结合点击事件切换状态。 import { useState } from 'rea…

vue 底部菜单实现

vue 底部菜单实现

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

vue实现菜单切换

vue实现菜单切换

Vue 实现菜单切换的方法 在 Vue 中实现菜单切换通常涉及动态绑定类名、条件渲染或状态管理。以下是几种常见的方法: 动态绑定 class 实现高亮切换 通过 v-bind:class 动态绑定类…

vue实现横排菜单

vue实现横排菜单

实现横排菜单的方法 在Vue中实现横排菜单可以通过多种方式完成,以下是几种常见的实现方法。 使用Flex布局实现横排菜单 通过CSS Flex布局可以轻松实现横排菜单,代码简洁且兼容性好。…