25-Sticky-Navigation(吸附导航栏)

 

 

滚动后

 

 

 

 

html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>
    <nav class="nav">
        <div class="container">
            <h1 class="logo">
                <a href="/index.html">My Website</a>
            </h1>
            <ul>
                <li><a href="" class="current">Home</a></li>
                <li><a href="">About</a></li>
                <li><a href="">Services</a></li>
                <li><a href="">Contact</a></li>   
            </ul>
        </div>
    </nav>

    <div class="hero">
        <div class="conatiner">
            <h1>Welcome To My Website</h1>
        <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores, consequuntur?</p>
        </div>
    </div>

    <section class="container content">
        <h2>Content One</h2>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ratione dolorem voluptates eveniet tempora ut cupiditate magnam, sapiente, hic quo in ipsum iste soluta eaque perferendis nihil recusandae dolore officia aperiam corporis similique. Facilis quos tempore labore totam! Consectetur molestiae iusto ducimus error reiciendis aspernatur dolor, modi dolorem sit architecto, voluptate magni sunt unde est quas? Voluptates a dolorum voluptatum quo perferendis aut sit. Aspernatur libero laboriosam ab eligendi omnis delectus earum labore, placeat officiis sint illum rem voluptas ipsum repellendus iste eius recusandae quae excepturi facere, iure rerum sequi? Illum velit delectus dicta et iste dolorum obcaecati minus odio eligendi!</p>
  
        <h3>Content Two</h3>
        <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Pariatur provident nostrum possimus inventore nisi laboriosam consequatur modi nulla eos, commodi, omnis distinctio! Maxime distinctio impedit provident, voluptates illo odio nostrum minima beatae similique a sint sapiente voluptatum atque optio illum est! Tenetur tempora doloremque quae iste aperiam hic cumque repellat?</p>
      </section>




    <script src="script.js"></script>
</body>
</html>
复制代码

 

css

复制代码
@import url('https://fonts.googleapis.com/css?family=Open+Sans');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: #222;
    padding-bottom: 50px;
  }

  .container{
    max-width: 1200px;
    margin: 0 auto;
  }

  .nav{
    position: fixed;
    background-color: #222;
    top: 0;
    left: 0;
    right: 0;
    transition: all 0.3s ease-in-out;
  }

  .nav .container{
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    transition: all 0.3s ease-in-out;
  }

  .nav ul{
    display: flex;
    list-style-type: none;
    align-items: center;
    justify-content: center;
  }
  .nav a{
    color: #fff;
    text-decoration: none;
    padding: 7px 15px;
    transition: all 0.3s ease-in-out;
  }

  .nav.active{
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  }

  .nav.active a{
    color: #000;
  }

  .nav.active .container{
    padding: 10px 0;
  }

  .nav a.current,
  .nav a:hover{
    color: #c0392b;
    font-weight: bold;
  }

  .hero{
    background-image: url('https://images.pexels.com/photos/450035/pexels-photo-450035.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    height: 100vh;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
    z-index:-2;
  }

  .hero::before{
    content:'';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: -1;
  }

  .hero h1 {
    font-size: 46px;
    margin: -20px 0 20px;
  }
  
  .hero p {
    font-size: 20px;
    letter-spacing: 1px;
  }
  
  .content h2,
  .content h3 {
    font-size: 150%;
    margin: 20px 0;
  }
  
  .content p {
    color: #555;
    line-height: 30px;
    letter-spacing: 1.2px;
  }
复制代码

 

 

js

复制代码
const nav=document.querySelector('.nav')
window.addEventListener('scroll',fixNav)

function fixNav(){
    if(window.scrollY>nav.offsetHeight+150){
        nav.classList.add('active');
    }else{
        nav.classList.remove('active');
    }
}
复制代码

 

posted @   漫漫长路</>  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示