首页 > 其他分享 >CSS、JS之滚动导航栏

CSS、JS之滚动导航栏

时间:2024-08-30 14:52:55浏览次数:12  
标签:滚动 color JS nth background child container div CSS

效果演示

图片

实现了一个滚动导航栏,包括一个固定在页面顶部的导航栏和四个全屏高度的区块。导航栏的背景颜色为半透明黑色,高度为60px,导航链接为白色,字体大小为30px,链接之间有15px的间距。当鼠标悬停在链接上时,下划线会出现。四个区块的背景颜色分别为#95e1d3、#eaffd0、#fce38a和#f38181,字体大小为150px,内容居中显示。此外,还使用了scroll-behavior属性,使得页面滚动时具有平滑滚动的效果。

Code

HTML
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>滚动导航栏</title>
    <link rel="stylesheet" href="./">
</head>

<body>
    <nav>
        <a href="#a">A</a>
        <a href="#b">B</a>
        <a href="#c">C</a>
        <a href="#d">D</a>
    </nav>
    <div class="container">
        <div class="item" id="a">A</div>
        <div class="item" id="b">B</div>
        <div class="item" id="c">C</div>
        <div class="item" id="d">D</div>
    </div>
</body>

</html>
CSS
*{
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}
nav{
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 60px;
  line-height: 60px;
  position: fixed;
  text-align: center;
}
nav a{
  color: #fff;
  font-size: 30px;
  margin: 0 15px;
  text-decoration: none;
}
nav a:hover{
  text-decoration: underline;
}
.container div{
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 150px;
}
.container div:nth-child(1){
  background-color: #95e1d3;
}
.container div:nth-child(2){
  background-color: #eaffd0;
}
.container div:nth-child(3){
  background-color: #fce38a;
}
.container div:nth-child(4){
  background-color: #f38181;
}

实现思路拆分

*{
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

这段代码设置了所有元素的外边距和内边距为0,并且使用了平滑滚动的效果。

nav{
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 60px;
  line-height: 60px;
  position: fixed;
  text-align: center;
}

这段代码设置了导航栏的背景颜色为半透明黑色,宽度为100%,高度为60px,行高为60px,固定在页面顶部,文本居中对齐。

nav a{
  color: #fff;
  font-size: 30px;
  margin: 0 15px;
  text-decoration: none;
}

这段代码设置了导航链接的颜色为白色,字体大小为30px,链接之间有15px的间距,去除了下划线。

nav a:hover{
  text-decoration: underline;
}

这段代码设置了当鼠标悬停在链接上时,下划线会出现。

.container div{
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 150px;
}

这段代码设置了四个区块的高度为100vh,使用flex布局使其内容居中对齐,字体大小为150px。

.container div:nth-child(1){
  background-color: #95e1d3;
}
.container div:nth-child(2){
  background-color: #eaffd0;
}
.container div:nth-child(3){
  background-color: #fce38a;
}
.container div:nth-child(4){
  background-color: #f38181;
}

这段代码设置了四个区块的背景颜色分别为#95e1d3、#eaffd0、#fce38a和#f38181。

标签:滚动,color,JS,nth,background,child,container,div,CSS
From: https://blog.csdn.net/zhangliwen1101/article/details/141718165

相关文章

  • 基于surging 如何利用peerjs进行语音视频通话
    一、概述PeerJS是一个基于浏览器WebRTC功能实现的js功能包,简化了WebrRTC的开发过程,对底层的细节做了封装,直接调用API即可,再配合surging协议组件化从而做到稳定,高效可扩展的微服务,再利用RtmpToWebrtc引擎组件可以做到不仅可以利用httpflv观看rtmp推流直播,还可以采用基于W......
  • uniapp js 划消小游戏 1.0 去控制台看打印(仅作参考)
    <template> <viewclass="wrap">  划消:{{sdNum}}*{{sdNum}}  <viewclass="btn"style="padding:32rpx;background:pink"@click="clickBtn">点击划消按钮</view>  <viewclass="btn&q......
  • uniapp js 数独小游戏 写死的简单数独 数独 3.0
    <template> <viewclass="wrap">  数独:{{sdNum}}*{{sdNum}}  <viewclass="btn"style="padding:32rpx;background:pink"@click="startFun">点击开始计时</view>  <viewclass="btn&q......
  • 基于nodejs_vue+express框架个人健康管理系统的设计与实现_7999g
    个人健康管理系统按照功能由三部分构成的,三部份是用户、医生和管理员。主要功能有出诊医生、预约挂号、健康档案、疾病评枯等。系统软件用户、医生与管理员的功能模块图个人健康服务平台是以医院的状况为起点,综合网络空间开发设计要求。目的是将个人健康通过网络平台变换为在......
  • day15JS-es6的基础语法
     1.严格模式1.1严格模式的使用方法使用方法1:"usestrict";开启严格模式。使用方法2:<scripttype="moaule"></script> 当设置script标签为模块化时,自动启用严格模式。 1.2严格模式的限制1. 要求变量不能重名。//报错"usestrict";vara=2;vara=4; 2.......
  • 分享:JS事件循环机制,宏任务和微任务
     为什么会讲这个主题? 这要从一个bug讲起,10月26号,app端,我的考勤日历面板上的信息在ios上显示不全。效果见手机视频。 当时我们几个排查了2-3天都没找到原因,review代码各种改都不行。(此时打开代码看下,src/app/myAttendance/attendance.vueline298line246)最后通过setTimeo......
  • 技术分享:jsx语法和应用
    首先问问大家对JSX了解多少,可以提几个问题,引发大家的思考和求知欲。然后开始讲 JSX是React架构里的东西,但是不局限于React,它是一种JavaScript的语法扩展,完全是JavaScript内部实现的,所以vue里面也能用。 JSX的优点:JSX执行更快,因为它在编译为JavaScript代码后进行了优化它是......
  • JS动态引入模块
    这是静态引入,importxxfrom‘xxx’;这是动态引入,import('xxx')动态引入是一个异步操作,即它会返回一个Promise对象,因此我们可以捕获引入失败的异常。具体运用场景:路由由后端动态生成,前端根据获取到的路由动态生成菜单,并根据对应路由去找到对应的组件进行跳转。譬如路由为/hom......
  • 基于ssm+vue.js的山东红色旅游信息管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SSM前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • js逆向之jsRpc
    github: https://github.com/jxhczhl/JsRpc 简介:通过远程调用(rpc)的方式免去抠代码补环境 原理:在网站的控制台新建一个WebScoket客户端链接到服务器通信,调用服务器的接口服务器会发送信息给客户端客户端接收到要执行的方法执行完js代码后把获得想要的内容发回给服务......