首页 web前端 css教程 指示CSS页面上的滚动位置

指示CSS页面上的滚动位置

Apr 08, 2025 am 10:14 AM

指示CSS页面上的滚动位置

滚动是我们在网上都知道并在网络上做的事情,以至于它是一种期望甚至习惯,例如刷牙。这可能就是为什么我们不太考虑设计滚动体验的原因 - 这是一个众所周知的基本功能。实际上,流行的“没有折叠”的话是从人们知道如何滚动的想法中出现的,并且没有人不会陷入困境的任意线。

基于卷轴的功能往往涉及CSS和JavaScript的一些定制混合物。那是因为根本没有那么多的本地功能可以做到这一点。但是,如果我们可以完成仅使用CSS的事情怎么办?

以CSS为例,以巧妙的水平滚动条为例。我想做类似的事情,但要指示滚动的部分,而不是捕获连续的滚动。换句话说,我只想在达到页面的某个部分时增加滚动过程中指示器的长度。

像这样:

这是我的计划:每个部分都带有一个无法检测到的指标,直到到达屏幕顶部为止。这就是通过更改颜色并坚持在视口顶部看到的地方。

相反的情况应该相反:当向后滚动滚动时,指示器将遵循,伪装回到肉眼未发现。

这有两个关键部分。首先是指示器在屏幕顶部附近时更改颜色。第二个是要使指示器保持在屏幕顶部,并且只有在将其部分向下滚动到屏幕上时才会下降。

第二个很容易做到:我们使用位置:粘性;关于我们的元素。滚动页面时,粘性元素会粘在其父容器内的屏幕上的给定位置。

这使我们变成了不断变化的颜色。由于HTML文档的背景默认为白色,因此我将白色作为演示的基本颜色。这意味着,当指示器在基本颜色上时,它应该看起来为白色,并在屏幕顶​​部的指示灯栏上转向其他颜色。

这是CSS混合模式发挥作用的地方。他们为我们提供了许多选择来创建各种颜色融合的选择。我要使用覆盖值。这本质上是动态的。我不会深入解释混合物(因为CSS-tricks Alamanac已经做得很好),但是考虑到此演示,我会说:当背景颜色为白色时,产生的前景颜色为白色;当背景是其他颜色时,所产生的颜色会更暗或更轻,具体取决于与之混合的颜色。

演示中的指示器停止是黑色的。但是,由于混合物,我们将它们视为白色,因为它们在白色背景上。当它们超过指示器容器元件(紫罗兰色的可爱阴影)时,我们会看到一个深紫色的指示器停止,因为我们将指示器停止的黑色与指示器容器的紫色混合在一起。

从HTML开始:

 <div>
 <strong>部分滚动↴</strong>
 
 <div> </div>
</div>



<div class="passageStops"> </div>



<div>
 
</div>



<div> </div>



<div>
 
</div>



<div> </div>



<div>
 
</div>
登录后复制

很简单,对吗?顶部有一个粘稠的容器,当它们到达顶部时,可以容纳指示器。从那里开始,我们有三个内容的内容,每个部分都带有一个指示器,该指示器将用指示器粘在顶部并与之融合。

这是CSS:

 .PassAgeStops {
 背景色:黑色; / *每个指示器停止都是黑色 */
 混合模式:覆盖; / *这使其在白色背景上显得白色 */
 宽度:33.3%; / *总共三个部分,因此每个部分为三分之一 */
 顶部:计算(1EM 3PX);
}


#通道, 
.PassAgeStops {
 身高:10px;
}


#passageWrapper,
.PassAgeStops {
 位置:粘性; / *容器和停止应粘在顶部 */
 z索引:1; / *确保指示器和停止保持在最前沿 */
}


#passage {
 背景:紫罗兰; / *将与黑色融合以制作较深的紫色指示器 */
 保证金:0 0 20px 0;
}


#passageWrapper {
 背景色:白色; / *确保我们正在使用White隐藏指示器停止 */
 身高:40px;
 顶部:0px;
}


/*每个站将在达到最后一部分时将指示器容器宽度的三分之一移动以覆盖整个物体。 */
。 }
。 }


/*更多样式,等等。 */
登录后复制

指示器(.PassAgeStops)是黑色的。但是,当覆盖层模式与其下面的白色背景融合时,它们使它们显得白色。由于有三个部分,因此每个指标宽度为三分之一。

指标具有位置:粘性;具有最高距离值。这意味着指示器一旦从屏幕顶部到达计算的位置就会粘贴。发生这种情况时,与紫罗兰色指示器容器相结合的黑色指示器使它们看起来是黑暗的紫罗兰色,代表页面上的新滚动位置。

反向也是正确的。当指示器失去其粘性位置时,它将从指示栏的紫罗兰背景移动到页面的白色背景,再次将其隐藏起来……就像它永远不会存在!

这再次是演示:

就是这样。您可以通过具有另一种混合模式的非白色背景或用于指示栏或停止的梯度来进一步实验。

以上是指示CSS页面上的滚动位置的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1238
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

如何在WordPress主题中构建VUE组件 如何在WordPress主题中构建VUE组件 Apr 11, 2025 am 11:03 AM

内联式模板指令使我们能够将丰富的VUE组件构建为对现有WordPress标记的逐步增强。

php是A-OK用于模板 php是A-OK用于模板 Apr 11, 2025 am 11:04 AM

PHP模板通常会因促进Subpar代码而变得不良说唱,但这并不是这样的情况。让我们看一下PHP项目如何执行基本的

编程SASS创建可访问的颜色组合 编程SASS创建可访问的颜色组合 Apr 09, 2025 am 11:30 AM

我们一直在寻求使网络更容易访问。颜色对比只是数学,因此Sass可以帮助涵盖设计师可能错过的边缘案例。

See all articles