【HTML+CSS】固定在页面顶端的导航条

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>固定在页面顶端的导航条</title>
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript">
    // s部分 : 利用了检测用户垂直滑动100像素后将其设置背景颜色,还有阴影.如果没有滑动超过100像素,背景颜色为透明,阴影设置为无.
        window.onload = function () {
            var nav = document.getElementsByClassName(nav)[0];
            window.onscroll = function () {
                if (window.pageYOffset > 100) {
                    nav.style.background = "#3498db";
                    nav.style.boxShadow = "0px 4px 2px #2980b9";
                } else {
                    nav.style.background = "transparent";
                    nav.style.boxShadow = "none";
                }
            }
        }
    </script>
</head>
<body>
    <div class="header">
        <div class="nav">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">Blog</a></li>
                <li><a href="#">Info</a></li>
                <li><a href="#">Contact</a></li>
                <li><a href="#">About</a></li>
            </ul>
        </div>
    </div>

    <div class="box"></div>
</body>
</html>

CSS

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

.header {
    width: 100%;
    height: 800px;
    background-image: url(bg.png);
    background-size: cover;

}

.nav {
    width: 100%;
    padding: 20px;
    position: fixed;
    top: 0;
    text-align: center;
    transition: .5s;
}

.nav ul li {
    list-style-type: none;
    display: inline-block;
    padding: 10px 50px;
    font-size: 24px;
    font-family: sans-serif;
    cursor: pointer;
    border-radius: 10px;
    transition: .5s;
}
.nav ul li a{
    color: #fff;
    text-decoration:none;
}


.nav ul li:hover {
    background: #f39c12;
}

.box {
    width: 80%;
    height: 2000px;
    margin: 20px auto;
}
经验分享 程序员 微信小程序 职场和发展