广告
返回顶部
首页 > 资讯 > 精选 >如何使用html+css+js实现导航栏滚动渐变效果
  • 750
分享到

如何使用html+css+js实现导航栏滚动渐变效果

2023-07-05 17:07:08 750人浏览 泡泡鱼
摘要

本篇内容主要讲解“如何使用html+CSS+js实现导航栏滚动渐变效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用html+css+js实现导航栏滚动渐变效果”吧!实现:1.定义导航栏

本篇内容主要讲解“如何使用html+CSS+js实现导航栏滚动渐变效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用html+css+js实现导航栏滚动渐变效果”吧!

    实现:

    1.定义导航栏的文字标签:

    <div class="tou">        <sapn class="loGo"> 北极光。</sapn>        <ul class="biao">        <li><a href="#"><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>

    2.导航栏整体的样式:

     .tou{             position: fixed;             top: 0;             left: 0;             padding: 25px 100px;             width: 100%;             display: flex;             justify-content: space-between;             align-items: center;            transition:  0.5s;         }

    transition 过渡效果

    3.北极光这个logo的样式:

     .logo{             position: relative;             font-size: 22px;             font-weight: 900;             letter-spacing: 1px;             color: rgb(28, 36, 148);         }

    letter-spacing:文字(字母)间距

    4.给北极光logo定位一个图片在文字左边:

     .logo::before{            content: '';            position: absolute;            left: -50px;            top: -15px;            width: 50px;            height: 50px;            background-image: url(logo.png);            background-size: 100%;         }

    5.右边导航标签的一些样式,样式等都不做详细说明了,毕竟每个人的都不一样~:

    .biao{             position: relative;             display: flex;             justify-content: center;             align-content: center;            list-style: none;                     }        .biao li{             position: relative;         }        .biao a{             position: relative;             margin: 0 10px;             font-size: 18px;             font-family: 'fangsong';             font-weight: bold;             color: rgb(28, 36, 148);             text-decoration: none;         }

    6.当页面有滚动后导航栏的样式,padding上下变小,字体颜色变,有了蓝背景色:

     .bian{            padding: 15px 100px;            background-color: rgb(71, 105, 219);        }        .bian .logo,.tou.bian a{            color: rgb(252, 247, 247);        }

    7.简单js,实现部分:

    第一种:
    window.addEventListener('scroll',function(){            let tou = document.querySelector('.tou');           if(window.scrollY>0)            {                tou.classList.add("bian");            }else{                tou.classList.remove("bian");            }        })
    第二种:直接这样:
     window.addEventListener('scroll',function(){            let tou = document.querySelector('.tou');                tou.classList.toggle("bian",window.scrollY>0);        })

    解释:
    scrollY属性:
    Window接口的只读scrollY属性返回文档当前垂直滚动的像素数。

    classList属性:
    add(class1, class2, &hellip;) 在元素中添加一个或多个类名。如果指定的类名已存在,则不会添加
    remove(class1, class2, &hellip;) 移除元素中一个或多个类名。
    toggle(class, true|false) 第一个参数为如果已存在类名则中移除的类名,并返回 false。如果该类名不存在则会在元素中添加类名,并返回 true。第二个是可选参数,是个布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在。

    所以:
    第一种js写法就是有滚动>0时就添加类.biao而实现渐变效果,当滚动<=0时就移除.biao类回到原来;
    第二种就是布尔值判断,当滚动>0就强制添加.biao类,当滚动<=0就移除.biao类;

    完整代码:

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        *{            margin: 0;            padding: 0;            box-sizing: border-box;                    }        body{            height: 200vh;                    }        .tou{             position: fixed;             top: 0;             left: 0;             padding: 25px 100px;             width: 100%;             display: flex;             justify-content: space-between;             align-items: center;            transition:  0.5s;         }        .logo{             position: relative;             font-size: 22px;             font-weight: 900;             letter-spacing: 1px;             color: rgb(28, 36, 148);         }         .logo::before{            content: '';            position: absolute;            left: -50px;            top: -15px;            width: 50px;            height: 50px;            background-image: url(logo.png);            background-size: 100%;         }         .biao{             position: relative;             display: flex;             justify-content: center;             align-content: center;            list-style: none;                     }        .biao li{             position: relative;         }        .biao a{             position: relative;             margin: 0 10px;             font-size: 18px;             font-family: 'fangsong';             font-weight: bold;             color: rgb(28, 36, 148);             text-decoration: none;         }                  .bian{            padding: 15px 100px;            background-color: rgb(71, 105, 219);        }        .bian .logo,.tou.bian a{            color: rgb(252, 247, 247);        }               .bjimg {      position: fixed;      top: 0;      left: 0;      width: 100%;      height: 100%;      min-width: 1000px;      z-index: -10;      zoom: 1;      background-color: #fff;      background-image: url(11.jpg) ;      background-repeat: no-repeat;      background-size: cover;      -WEBkit-background-size: cover;      -o-background-size: cover;      background-position: center 0;    }    </style></head><body>    <!-- 背景图 -->    <div class="bjimg"></div>   <!--  导航栏 -->    <div class="tou">        <sapn class="logo"> 北极光。</sapn>        <ul class="biao">        <li><a href="#"><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>    <script>        window.addEventListener('scroll',function(){            let tou = document.querySelector('.tou');                                             if(window.scrollY>0)            {                tou.classList.add("bian");            }else{                tou.classList.remove("bian");            }        })    </script></body></html>

    到此,相信大家对“如何使用html+css+js实现导航栏滚动渐变效果”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: 如何使用html+css+js实现导航栏滚动渐变效果

    本文链接: https://www.lsjlt.com/news/353618.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何使用html+css+js实现导航栏滚动渐变效果
      本篇内容主要讲解“如何使用html+css+js实现导航栏滚动渐变效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用html+css+js实现导航栏滚动渐变效果”吧!实现:1.定义导航栏...
      99+
      2023-07-05
    • js如何实现导航栏中英文切换效果
      这篇文章主要为大家展示了“js如何实现导航栏中英文切换效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何实现导航栏中英文切换效果”这篇文章吧。思路:ul...
      99+
      2022-10-19
    • 微信小程序如何实现今日头条导航栏滚动效果
      这篇文章给大家分享的是有关微信小程序如何实现今日头条导航栏滚动效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再weu...
      99+
      2022-10-19
    • 如何使用js实现悬浮导航效果
      这篇文章主要介绍了如何使用js实现悬浮导航效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下<head>  ...
      99+
      2022-10-19
    • HTML+CSS如何实现文本效果、渐变效果、边框图片效果
      这篇文章给大家分享的是有关HTML+CSS如何实现文本效果、渐变效果、边框图片效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。文本阴影文本裁剪文本描边文本填充线性渐变径向渐变边...
      99+
      2022-10-19
    • react如何实现侧边栏联动头部导航栏效果
      目录实现思路路由表侧边栏渲染容器组件(侧边栏)store头部导航栏容器组件UI组件总结项目中使用react+antd design+redux+react-reouter-dom 实...
      99+
      2023-03-12
      react侧边栏 react侧边栏联动 react头部导航栏效果
    • 使用CSS怎么实现导航栏下划线跟随效果
      使用CSS怎么实现导航栏下划线跟随效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。假设 HTML 结构如下:<ul>  <...
      99+
      2023-06-08
    • 如何通过纯CSS实现网页的平滑滚动背景渐变效果
      如何通过纯CSS实现网页的平滑滚动背景渐变效果一、引言在网页设计中,背景渐变效果可以为网站增加美感和动态感。而平滑滚动背景渐变则可以使网页更加吸引人,给用户带来舒适的浏览体验。本文将介绍如何通过纯CSS实现网页的平滑滚动背景渐变效果,并提供...
      99+
      2023-10-25
      CSS 平滑滚动 背景渐变
    • JS如何实现滚动到指定位置导航栏固定顶部
      小编给大家分享一下JS如何实现滚动到指定位置导航栏固定顶部,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码:<!DOCT...
      99+
      2022-10-19
    • 如何使用CSS制作滑出效果的导航栏的实现步骤
      导航栏是网页设计中常见的元素,它可以让用户方便地导航到网站的不同页面。在许多网站中,滑出效果的导航栏具有更加现代和时尚的外观。本文将介绍如何使用CSS来制作这种滑出效果的导航栏,并提供具体的代码示例。实现步骤如下:创建HTML结构首先,我们...
      99+
      2023-10-21
      CSS 导航栏 滑出效果
    • 如何使用纯JS实现弹性导航条效果
      这篇文章主要为大家展示了“如何使用纯JS实现弹性导航条效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用纯JS实现弹性导航条效果”这篇文章吧。效果图:代...
      99+
      2022-10-19
    • 怎么用纯CSS实现菜单、导航栏的3D翻转动画效果
      这篇文章主要讲解了“怎么用纯CSS实现菜单、导航栏的3D翻转动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用纯CSS实现菜单、导航栏的3D翻转动...
      99+
      2022-10-19
    • 如何通过纯CSS实现导航栏的下拉菜单效果
      如何通过纯CSS实现导航栏的下拉菜单效果在Web设计中,导航栏是一个非常常见的组件,而下拉菜单则是导航栏中的一种常见效果。在本文中,我们将学习如何仅使用CSS来实现导航栏的下拉菜单效果,并提供详细的代码示例。首先,我们需要一个基本的导航栏结...
      99+
      2023-10-27
      导航栏 纯CSS 下拉菜单效果
    • jQuery如何使用滚动监听实现商城楼梯式导航效果
      这篇文章主要为大家展示了“jQuery如何使用滚动监听实现商城楼梯式导航效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQue...
      99+
      2022-10-19
    • 如何通过纯CSS实现网页的平滑滚动背景图片渐变效果
      在现代的网页设计中,丰富的背景效果可以提升网页的美观度和用户体验。其中,平滑滚动和背景图片渐变效果是常用的一种设计方式。本文将介绍如何通过纯CSS实现网页的平滑滚动背景图片渐变效果,并提供具体的代码示例。一、平滑滚动效果首先,我们需要创建一...
      99+
      2023-10-21
      平滑滚动 网页 关键词:CSS
    • 如何使用HTML和CSS实现一个水平滚动导航菜单布局
      如何使用HTML和CSS实现一个水平滚动导航菜单布局在网页设计中,导航菜单是一个非常重要的元素,它可以方便用户浏览和导航网站的内容。而水平滚动导航菜单是一种常见的导航菜单布局,可以在有限的水平空间内显示更多的菜单项,给用户更多的选项。本文将...
      99+
      2023-10-24
      CSS html 实现
    • Html+Css+Jquery如何实现左侧滑动拉伸导航菜单栏
      这篇文章主要介绍了Html+Css+Jquery如何实现左侧滑动拉伸导航菜单栏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PC端移动端代码<!DOCTYPE ...
      99+
      2023-06-09
    • 如何使用HTML和CSS实现一个导航标签栏布局
      导航标签栏是一个常见的网页设计元素,它可以为用户提供快速导航到网站的不同页面或功能。在本文中,我们将学习如何使用HTML和CSS来实现一个简单但具有吸引力的导航标签栏布局。要实现这个布局,我们将首先创建HTML的基本结构,然后使用CSS来样...
      99+
      2023-10-21
      CSS html 导航标签栏
    • 微信小程序如何实现顶部可滚动导航效果
      这篇文章给大家分享的是有关微信小程序如何实现顶部可滚动导航效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求是小程序做头部做导航分类的效果顶部用 scroll-view 组件...
      99+
      2022-10-19
    • HTML网页设计中如何使用js实现锚点滚动效果
      这篇文章主要介绍了HTML网页设计中如何使用js实现锚点滚动效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下:  &...
      99+
      2022-10-19
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作