当前位置: 首页 > news >正文

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。

1. 简约水平导航栏

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>简约水平导航</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}nav {background: #2c3e50;padding: 15px 0;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);}.nav-container {width: 90%;max-width: 1200px;margin: 0 auto;display: flex;justify-content: space-between;align-items: center;}.logo {color: white;font-size: 1.5rem;font-weight: bold;text-decoration: none;}.nav-links {display: flex;list-style: none;}.nav-links li {margin-left: 30px;}.nav-links a {color: #ecf0f1;text-decoration: none;font-size: 1rem;font-weight: 500;transition: color 0.3s;position: relative;}.nav-links a:hover {color: #3498db;}.nav-links a::after {content: '';position: absolute;width: 0;height: 2px;background: #3498db;bottom: -5px;left: 0;transition: width 0.3s;}.nav-links a:hover::after {width: 100%;}</style>
</head>
<body><nav><div class="nav-container"><a href="#" class="logo">LOGO</a><ul class="nav-links"><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></div></nav>
</body>
</html>

2. 响应式汉堡菜单

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>响应式汉堡菜单</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Arial', sans-serif;}nav {background: #34495e;padding: 15px 0;position: relative;}.nav-container {width: 90%;max-width: 1200px;margin: 0 auto;display: flex;justify-content: space-between;align-items: center;}.logo {color: white;font-size: 1.5rem;font-weight: bold;text-decoration: none;}.nav-links {display: flex;list-style: none;}.nav-links li {margin-left: 30px;}.nav-links a {color: #ecf0f1;text-decoration: none;font-size: 1rem;font-weight: 500;transition: color 0.3s;}.nav-links a:hover {color: #1abc9c;}.hamburger {display: none;cursor: pointer;}.hamburger div {width: 25px;height: 3px;background: white;margin: 5px;transition: all 0.3s ease;}@media screen and (max-width: 768px) {.hamburger {display: block;}.nav-links {position: absolute;right: 0;top: 70px;background: #34495e;width: 100%;flex-direction: column;align-items: center;clip-path: circle(0px at 90% -10%);transition: all 0.5s ease-out;pointer-events: none;}.nav-links li {margin: 20px 0;opacity: 0;}.nav-links.open {clip-path: circle(1000px at 90% -10%);pointer-events: all;}.nav-links li.fade {opacity: 1;}}/* 汉堡菜单动画 */.toggle .line1 {transform: rotate(-45deg) translate(-5px, 6px);}.toggle .line2 {opacity: 0;}.toggle .line3 {transform: rotate(45deg) translate(-5px, -6px);}</style>
</head>
<body><nav><div class="nav-container"><a href="#" class="logo">LOGO</a><ul class="nav-links"><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><div class="hamburger"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div></nav><script>const hamburger = document.querySelector('.hamburger');const navLinks = document.querySelector('.nav-links');const links = document.querySelectorAll('.nav-links li');hamburger.addEventListener('click', () => {navLinks.classList.toggle('open');hamburger.classList.toggle('toggle');links.forEach(link => {link.classList.toggle('fade');});});</script>
</body>
</html>

3. 垂直侧边栏导航

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>垂直侧边栏导航</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Roboto', sans-serif;}body {display: flex;min-height: 100vh;}.sidebar {width: 250px;background: #2c3e50;color: white;height: 100vh;position: fixed;transition: all 0.3s;}.sidebar-header {padding: 20px;background: #34495e;text-align: center;}.sidebar-header h3 {margin-bottom: 0;font-weight: 500;}.sidebar-menu {padding: 20px 0;}.sidebar-menu li {list-style: none;padding: 15px 20px;transition: all 0.3s;}.sidebar-menu li:hover {background: #34495e;}.sidebar-menu li.active {background: #3498db;}.sidebar-menu a {color: #ecf0f1;text-decoration: none;display: flex;align-items: center;}.sidebar-menu i {margin-right: 10px;font-size: 1.2rem;}.main-content {margin-left: 250px;padding: 20px;width: calc(100% - 250px);transition: all 0.3s;}@media (max-width: 768px) {.sidebar {width: 80px;}.sidebar-header h3, .sidebar-menu span {display: none;}.sidebar-menu i {margin-right: 0;font-size: 1.5rem;}.sidebar-menu li {text-align: center;padding: 15px 10px;}.main-content {margin-left: 80px;width: calc(100% - 80px);}}</style><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
</head>
<body><div class="sidebar"><div class="sidebar-header"><h3>管理后台</h3></div><ul class="sidebar-menu"><li class="active"><a href="#"><i class="fas fa-home"></i><span>仪表盘</span></a></li><li><a href="#"><i class="fas fa-user"></i><span>用户管理</span></a></li><li><a href="#"><i class="fas fa-chart-line"></i><span>数据分析</span></a></li><li><a href="#"><i class="fas fa-cog"></i><span>系统设置</span></a></li><li><a href="#"><i class="fas fa-envelope"></i><span>消息中心</span></a></li><li><a href="#"><i class="fas fa-sign-out-alt"></i><span>退出登录</span></a></li></ul></div><div class="main-content"><h1>主内容区域</h1><p>这里是页面主要内容...</p></div>
</body>
</html>

4. 悬浮下划线导航

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>悬浮下划线导航</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Poppins', sans-serif;}body {background: #f5f5f5;}nav {background: white;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);padding: 20px;}.nav-container {max-width: 1200px;margin: 0 auto;display: flex;justify-content: center;}.nav-links {display: flex;list-style: none;position: relative;}.nav-links li {margin: 0 15px;}.nav-links a {color: #333;text-decoration: none;font-size: 1rem;font-weight: 500;padding: 8px 15px;position: relative;z-index: 1;}.nav-links .underline {position: absolute;height: 100%;width: 100px;background: #e3f2fd;top: 0;left: 0;border-radius: 5px;transition: all 0.3s;z-index: 0;}.nav-links li:nth-child(1):hover ~ .underline {left: 0;width: 90px;}.nav-links li:nth-child(2):hover ~ .underline {left: 105px;width: 90px;}.nav-links li:nth-child(3):hover ~ .underline {left: 210px;width: 90px;}.nav-links li:nth-child(4):hover ~ .underline {left: 315px;width: 90px;}.nav-links li:nth-child(5):hover ~ .underline {left: 420px;width: 90px;}</style>
</head>
<body><nav><div class="nav-container"><ul class="nav-links"><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><div class="underline"></div></ul></div></nav>
</body>
</html>

5. 圆角标签式导航

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>圆角标签式导航</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Arial', sans-serif;}body {background: #f8f9fa;padding-top: 50px;}.tabs-container {max-width: 800px;margin: 0 auto;background: white;border-radius: 10px;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);overflow: hidden;}.tabs-nav {display: flex;background: #f1f3f5;border-bottom: 1px solid #dee2e6;}.tab-button {padding: 12px 20px;background: none;border: none;cursor: pointer;font-size: 1rem;font-weight: 500;color: #495057;position: relative;transition: all 0.3s;}.tab-button:first-child {border-top-left-radius: 10px;}.tab-button:last-child {border-top-right-radius: 10px;}.tab-button:hover {color: #212529;background: rgba(0, 0, 0, 0.05);}.tab-button.active {color: #0d6efd;background: white;}.tab-button.active::after {content: '';position: absolute;bottom: -1px;left: 0;width: 100%;height: 2px;background: #0d6efd;}.tab-content {padding: 20px;display: none;}.tab-content.active {display: block;}.tab-content h3 {margin-bottom: 15px;color: #212529;}.tab-content p {color: #495057;line-height: 1.6;}</style>
</head>
<body><div class="tabs-container"><div class="tabs-nav"><button class="tab-button active" data-tab="tab1">首页</button><button class="tab-button" data-tab="tab2">产品</button><button class="tab-button" data-tab="tab3">服务</button><button class="tab-button" data-tab="tab4">关于</button></div><div class="tabs-content"><div class="tab-content active" id="tab1"><h3>欢迎来到首页</h3><p>这里是首页内容区域,您可以在这里展示您的主要信息和特色内容。</p></div><div class="tab-content" id="tab2"><h3>我们的产品</h3><p>这里展示您的产品信息,包括产品特点、优势和使用场景等。</p></div><div class="tab-content" id="tab3"><h3>专业服务</h3><p>详细介绍您提供的服务内容、服务流程和客户案例等。</p></div><div class="tab-content" id="tab4"><h3>关于我们</h3><p>介绍您的公司背景、发展历程、团队文化和联系方式等信息。</p></div></div></div><script>const tabButtons = document.querySelectorAll('.tab-button');const tabContents = document.querySelectorAll('.tab-content');tabButtons.forEach(button => {button.addEventListener('click', () => {// 移除所有active类tabButtons.forEach(btn => btn.classList.remove('active'));tabContents.forEach(content => content.classList.remove('active'));// 添加active类到当前按钮和对应内容button.classList.add('active');const tabId = button.getAttribute('data-tab');document.getElementById(tabId).classList.add('active');});});</script>
</body>
</html>

6. 3D立体悬浮导航

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>3D立体悬浮导航</title><style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Arial', sans-serif;}body {background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);min-height: 100vh;display: flex;justify-content: center;align-items: center;}.nav-3d {display: flex;position: relative;perspective: 1000px;}.nav-item {margin: 0 10px;position: relative;transform-style: preserve-3d;transition: transform 0.3s;}.nav-item:hover {transform: translateZ(20px);}.nav-item a {display: block;padding: 15px 30px;background: white;color: #333; /* 确保文字颜色可见 */text-decoration: none;font-weight: bold;border-radius: 5px;box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);position: relative;transform: translateZ(25px);transition: all 0.3s;z-index: 2; /* 确保文字在顶层 */}.nav-item a::before {content: '';position: absolute;width: 100%;height: 100%;background: #f8f9fa;border-radius: 5px;top: 0;left: 0;transform: translateZ(-25px);transition: all 0.3s;z-index: -1; /* 确保背景在文字下方 */}.nav-item:hover a {background: #0d6efd;color: white;transform: translateZ(45px);}.nav-item:hover a::before {background: #0b5ed7;transform: translateZ(-45px);}.test {color: red !important; /* 确保红色文字可见 */}</style>
</head>
<body><div class="nav-3d"><div class="nav-item"><a href="#" class="test">首页</a></div><div class="nav-item"><a href="#">产品</a></div><div class="nav-item"><a href="#">服务</a></div><div class="nav-item"><a href="#">关于</a></div><div class="nav-item"><a href="#">联系</a></div></div>
</body>
</html>

总结

以上提供了 6 种不同风格的导航菜单实现:

  1. ​简约水平导航栏​​ - 适合大多数网站的基本导航需求
  2. ​响应式汉堡菜单​​ - 移动设备友好的响应式导航
  3. ​垂直侧边栏导航​​ - 适合管理后台或文档网站
  4. ​悬浮下划线导航​​ - 具有流畅动画效果的导航
  5. ​圆角标签式导航​​ - 适合内容分类展示
  6. ​3D立体悬浮导航​​ - 具有视觉冲击力的创意导航

每种导航都包含完整的 HTML、CSS 和必要的 JavaScript 代码,您可以直接复制使用或根据需要进行修改。这些导航菜单都遵循现代 Web 设计原则,具有良好的视觉效果和用户体验。

相关文章:

  • 从模型到生产力:应用集成如何帮助AI实现业务落地
  • Web自动化测试流程
  • pp-ocrv5改进
  • 【AI论文】超越80/20规则:高熵少数令牌驱动LLM推理的有效强化学习
  • 新版双紫擒龙、紫紫红黄、动能二号源码指标源码公式讲解
  • 深入理解 Linux 进程控制
  • vue在打包的时候能不能固定assets里的js和css文件名称
  • 力扣刷题Day 72:寻找旋转排序数组中的最小值(153)
  • 车型库查询接口如何用Java进行调用?
  • coze平台创建智能体,关于智能体后端接入的问题
  • 永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
  • 添加按钮跳转页面并且根据网站的用户状态判断是否显示按钮
  • 贝叶斯网络_TomatoSCI分析日记
  • leetcode1971. 寻找图中是否存在路径-easy
  • SQL进阶之旅 Day 17:大数据量查询优化策略
  • 传统业务对接AI-AI编程框架-Rasa的业务应用实战(4)--Rasa成型可用 针对业务配置rasa并训练和部署
  • 蓝牙攻防实战指南:发现隐藏设备
  • 数据库管理与高可用-MySQL主从复制与读写分离
  • linux 内存分析
  • Python绘图库及图像类型之特殊领域可视化
  • 正邦设计面试/南宁求介绍seo软件
  • 游戏是怎么开发出来的/seo关键词排名优化报价
  • 2024b站推广大全/活动推广宣传方案
  • 做网站使用什么软件的/最新地址
  • 潍坊网站开发weifangwangluo/个人网站搭建
  • 农村建设投诉网站首页/怎么自己注册网站