动态的 Tab 栏
发表于:2024-12-10
字数统计:640 字
预计阅读3分钟
介绍
日常在使用移动端 APP 或访问 PC 端网站的时候,常常发现在一些有工具栏或者 Tab 栏的页面会有顶栏固定的效果。简单来说,在页面未开始滚动时顶栏处在其原有的位置上,当页面向下滚动一定区域后,顶栏会跟随滚动固定在页面上方。
本题请实现一个顶栏固定的课程网站首页。
准备
本题已经内置了初始代码,打开实验环境,目录结构如下:
txt
├── css
│ └── style.css
├── effect.gif
├── images
│ ├── C++_course.png
│ ├── VSCode.png
│ ├── about.png
│ ├── linux_course.png
│ └── python_course.png
├── index.html
└── js
└── index.js其中:
css/style.css是样式文件。index.html是主页面。js/index.js是页面的js文件。effect.gif是最终完成的效果图。images文件夹下是项目中用到的图片文件。
注意:打开环境后发现缺少项目代码,请复制下述命令至命令行进行下载。
bash
cd /home/project
wget https://labfile.oss.aliyuncs.com/courses/17153/scroll.zip
unzip scroll.zip && rm scroll.zip选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。
接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果:

目标
请在 style.css 文件中补全代码。
当用户向下滚动的高度没有超过标题栏(即 .heading 元素)的高度时,保持 Tab 栏在其原有的位置。当滚动高度超过标题栏的高度时,固定显示 Tab 栏在网页顶部。
完成后,效果如下:

规定
- 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径、class 名、id 名、图片名等,以免造成无法判题通过。
- 满足题目需求后,保持 Web 服务处于可以正常访问状态,点击「提交检测」系统会自动判分。
判分标准
- 本题完全实现题目目标得满分,否则得 0 分。
总通过次数: 1338 | 总提交次数: 1411 | 通过率: 94.8%
难度: 简单 标签: 2023, 省模拟赛, Web 前端, CSS3
题解
css
.buttons {
display: flex;
justify-content: center;
width: 100%;
background-color: white;
gap: 1rem;
cursor: pointer;
padding: 0;
opacity: 0.8;
/* TODO: 请在此补充代码实现tab栏动态固定 */
position: sticky;
top: 0;
}