用html,css,js编写一个有特效的固定导航栏
时间: 2024-06-17 13:07:03 浏览: 94
纯CSS黑色固定导航菜单代码.zip
要实现一个有特效的固定导航栏,可以使用HTML、CSS和JavaScript来完成。下面是一个简单的实现过程:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>固定导航栏</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<header>
<div class="container">
<h1>固定导航栏</h1>
<nav>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">产品中心</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</nav>
</div>
</header>
<section>
<div class="container">
<h2>欢迎来到我们的网站</h2>
<p>在这里你可以找到你想要的所有信息。</p>
</div>
</section>
<section>
<div class="container">
<h2>我们的产品</h2>
<p>我们提供各种各样的产品,以满足不同客户的需求。</p>
</div>
</section>
<footer>
<div class="container">
<p>版权所有 © 2021 固定导航栏</p>
</div>
</footer>
</body>
</html>
```
CSS代码:
```css
/* 清除默认样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 设置header样式 */
header {
background-color: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
height: 80px;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 999;
}
/* 设置container样式 */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
display: flex;
align-items: center;
height: 100%;
}
/* 设置logo样式 */
h1 {
font-size: 28px;
color: #333;
flex-grow: 1;
}
/* 设置nav样式 */
nav ul {
list-style: none;
display: flex;
align-items: center;
height: 100%;
}
nav li {
margin-left: 20px;
}
nav li a {
color: #333;
text-decoration: none;
font-size: 16px;
padding: 5px 10px;
border-radius: 5px;
}
nav li a:hover {
background-color: #333;
color: #fff;
}
/* 设置section样式 */
section {
background-color: #f7f7f7;
padding: 80px 0;
}
/* 设置footer样式 */
footer {
background-color: #333;
color: #fff;
height: 50px;
display: flex;
align-items: center;
position: fixed;
bottom: 0;
left: 0;
right: 0;
}
footer p {
font-size: 14px;
margin-left: auto;
margin-right: auto;
}
```
JavaScript代码:
```javascript
window.addEventListener("scroll", function() {
var header = document.querySelector("header");
header.classList.toggle("sticky", window.scrollY > 0);
});
```
在上面的代码中,我们首先通过CSS对导航栏进行了样式设置,然后通过JavaScript对窗口进行监听,当滚动条向下滚动时,给header元素添加sticky类名,实现固定导航栏的效果。
阅读全文