以下是一个使用 HTML、CSS 和 JavaScript 构建的简单现代化导航网站示例。 HTML 代码(`index.html`) ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <title>现代化导航网站</title> </head> <body> <!-- 导航栏 --> <nav class="navbar"> <div class="logo">导航网站</div> <ul class="nav-links"> <li><a href="#">主页</a></li> <li><a href="#">关于</a></li> <li><a href="#">*们</a></li> </ul> <!-- 响应式菜单按钮 --> <div class="burger"> <div class="line1"></div> <div class="line2"></div> <div class="line3"></div> </div> </nav> <!-- 主要内容区域 --> <main class="main-content"> <h1>欢迎来到导航网站</h1> <p>这里有许多有用的链接供您导航。</p> <div class="link-container"> <a href="https://www.google.com" target="_blank">Google</a> <a href="https://www.github.com" target="_blank">GitHub</a> <a href="https://www.stackoverflow.com" target="_blank">Stack Overflow</a> </div> </main> <!-- 页脚 --> <footer class="footer"> <p>© 2024 导航网站. 保留所有权利.</p> </footer> <script src="script.js"></script> </body> </html> ``` 这段 HTML 代码构建了导航网站的基本结构,包含导航栏、主要内容区域和页脚。导航栏有响应式菜单按钮,主要内容区域展示了一些常用的导航链接。 CSS 代码(`styles.css`) ```css /* 全局样式 */ body { font-family: Arial, sans-serif; margin: 0; padding: 0; } /* 导航栏样式 */ .navbar { display: flex; justify-content: space-between; align-items: center; background-color: #333; color: white; padding: 1rem; } .logo { font-size: 1.5rem; } .nav-links { display: flex; list-style: none; margin: 0; padding: 0; } .nav-links li { margin-left: 1rem; } .nav-links a { color: white; text-decoration: none; } /* 响应式菜单按钮样式 */ .burger { display: none; cursor: pointer; } .burger div { width: 25px; height: 3px; background-color: white; margin: 5px; transition: all 0.3s ease; } /* 主要内容区域样式 */ .main-content { padding: 2rem; text-align: center; } .link-container { margin-top: 2rem; } .link-container a { display: inline-block; margin: 0.5rem; padding: 0.5rem 1rem; background-color: #007BFF; color: white; text-decoration: none; border-radius: 5px; } /* 页脚样式 */ .footer { background-color: #333; color: white; text-align: center; padding: 1rem; } /* 响应式设计 */ @media screen and (max-width: 768px) { .nav-links { position: absolute; right: 0px; height: 92vh; top: 8vh; background-color: #333; display: flex; flex-direction: column; align-items: center; width: 50%; transform: translateX(100%); transition: transform 0.5s ease-in; } .nav-links li { opacity: 0; } .burger { display: block; } } /* 响应式菜单激活状态 */ .nav-active { transform: translateX(0%); } @keyframes navLinkFade { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0px); } } /* 菜单按钮动画 */ .toggle .line1 { transform: rotate(-45deg) translate(-5px, 6px); } .toggle .line2 { opacity: 0; } .toggle .line3 { transform: rotate(45deg) translate(-5px, -6px); } ``` 这段 CSS 代码为导航网站添加了样式,包括导航栏、主要内容区域和页脚的样式,并且实现了响应式设计,当屏幕宽度小于 768px 时,导航栏会变成响应式菜单。 JavaScript 代码(`script.js`) ```javascript // 获取元素 const navSlide = () => { const burger = document.querySelector('.burger'); const nav = document.querySelector('.nav-links'); const navLinks = document.querySelectorAll('.nav-links li'); // 为菜单按钮添加点击事件 burger.addEventListener('click', () => { // 切换导航栏的激活状态 nav.classList.toggle('nav-active'); // 为导航链接添加动画效果 navLinks.forEach((link, index) => { if (link.style.animation) { link.style.animation = ''; } else { link.style.animation = `navLinkFade 0.5s ease forwards ${index / 7 + 0.3}s`; } }); // 切换菜单按钮的动画状态 burger.classList.toggle('toggle'); }); } // 调用导航栏滑动函数 navSlide(); ``` 这段 JavaScript 代码实现了响应式菜单的交互功能,点击菜单按钮时,导航栏会展开或收起,并且导航链接会有动画效果。 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 响应式设计要考虑不同设备的屏幕尺寸,确保在各种设备上都能正常显示。 2. 菜单按钮的动画效果要注意兼容性,不同浏览器可能会有不同的表现。 3. 导航链接的点击事件要确保不会影响页面的正常跳转,避免出现卡顿或错误。 [2025-08-13 08:48:53 | AI写代码神器 | 1631点数解答]