”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 揭秘KPR Verse Footer Effect背后的神奇效果

揭秘KPR Verse Footer Effect背后的神奇效果

发布于2025-01-06
浏览:678

Unraveling the magical effect Behind the KPR Verse Footer Effect
当我滚动浏览 KPR-verse 网站时,我注意到底部有这个很酷的效果。每当我看到这样的东西时,我总是想重现它。我的过程很简单:我首先尝试复制效果,然后创建一个博客来解释它是如何完成的,旨在将复杂的设计分解为易于理解的步骤。

起初,我常常怀疑自己是否能成功,但经过深思熟虑,我通常会找到一种方法将设计分解成碎片。通过连接这些部分,我设法达到了效果。废话说得够多了——让我们深入探讨如何自己制作它!

分解 KPR 诗句页脚效果

在网站末尾,您会在背景中找到 KPR 横幅。乍一看似乎有点复杂,但其实没那么复杂。

Unraveling the magical effect Behind the KPR Verse Footer Effect

首先,创建一个带有 .container 类的 div。这将是我们教程的根元素。

Unraveling the magical effect Behind the KPR Verse Footer Effect

接下来,将 .container 分为两部分:.subcontainer-wrapper 和 footer。页脚元素将包含 KPR 横幅。

Unraveling the magical effect Behind the KPR Verse Footer Effect

现在,将 .subcontainer-wrapper 进一步分为两部分。上半部分包含我们网站的所有内容,而下半部分留空,没有背景——基本上不可见,但它仍然具有视口的宽度和高度。下半部分至关重要,因为它使我们能够看到页脚。

到目前为止,所有元素都处于正常的 HTML 流程中,即从上到下。现在,我们需要通过将页脚放在后面并将 .subcontainer-wrapper 放在前面来打破这个顺序。为此,我们将 .subcontainer-wrapper 设置为相对于其父 .container 的绝对位置。这将从正常的 DOM 流中删除 .subcontainer-wrapper。

Unraveling the magical effect Behind the KPR Verse Footer Effect

这就是我们设置效果所需的全部内容。现在,用内容填充 .subcontainer-wrapper 的上部,但将下部(不可见的 div)留空。另外,将内容添加到页脚。

添加内容后,它应该看起来像这样。

Unraveling the magical effect Behind the KPR Verse Footer Effect

上部隐藏了背景,当你向下滚动时,当可见内容结束时,不可见部分会显示页脚。瞧!就是这样——简单又容易。

Unraveling the magical effect Behind the KPR Verse Footer Effect

_感谢您的关注!我希望您发现本指南很有帮助且易于理解。保持好奇心并不断探索!

原文:KPR-verse

演示站点:演示链接,在本次演示中,我使用了 Google I/O 站点 (https://io.google/2024/) 并对其进行了调整以展示类似的概念。

源代码:Github Link_

版本声明 本文转载于:https://dev.to/bishalpahari/unraveling-the-magical-effect-behind-the-kpr-verse-footer-effect-42bm?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 表单刷新后如何防止重复提交?
    表单刷新后如何防止重复提交?
    在Web开发中预防重复提交 在表格提交后刷新页面时,遇到重复提交的问题是常见的。要解决这个问题,请考虑以下方法: 想象一下具有这样的代码段,看起来像这样的代码段:)){ //数据库操作... 回声“操作完成”; 死(); } ?> ...
    编程 发布于2025-05-04
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-05-04
  • 解决Spring Security 4.1及以上版本CORS问题指南
    解决Spring Security 4.1及以上版本CORS问题指南
    弹簧安全性cors filter:故障排除常见问题 在将Spring Security集成到现有项目中时,您可能会遇到与CORS相关的错误,如果像“访问Control-allo-allow-Origin”之类的标头,则无法设置在响应中。为了解决此问题,您可以实现自定义过滤器,例如代码段中的MyFi...
    编程 发布于2025-05-04
  • 在Oracle SQL中如何提取下划线前的子字符串?
    在Oracle SQL中如何提取下划线前的子字符串?
    [ 在oracle sql 解决方案: Explanation:SUBSTR function extracts a substring starting from the specified position (0) and continuing for a specified length.IN...
    编程 发布于2025-05-04
  • Java中Lambda表达式为何需要“final”或“有效final”变量?
    Java中Lambda表达式为何需要“final”或“有效final”变量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    编程 发布于2025-05-04
  • 同实例无需转储复制MySQL数据库方法
    同实例无需转储复制MySQL数据库方法
    在同一实例上复制一个MySQL数据库而无需转储在同一mySQL实例上复制数据库,而无需创建InterMediate sqql script。以下方法为传统的转储和IMPORT过程提供了更简单的替代方法。 直接管道数据 MySQL手动概述了一种允许将mysqldump直接输出到MySQL clie...
    编程 发布于2025-05-04
  • 用户本地时间格式及时区偏移显示指南
    用户本地时间格式及时区偏移显示指南
    在用户的语言环境格式中显示日期/时间,并使用时间偏移在向最终用户展示日期和时间时,以其localzone and格式显示它们至关重要。这确保了不同地理位置的清晰度和无缝用户体验。以下是使用JavaScript实现此目的的方法。方法:推荐方法是处理客户端的Javascript中的日期/时间格式化和时...
    编程 发布于2025-05-04
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-05-04
  • 如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    Transform Pandas DataFrame Column to DateTime FormatScenario:Data within a Pandas DataFrame often exists in various formats, including strings.使用时间数据时...
    编程 发布于2025-05-04
  • 如何处理PHP文件系统功能中的UTF-8文件名?
    如何处理PHP文件系统功能中的UTF-8文件名?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-05-04
  • 在Python中如何创建动态变量?
    在Python中如何创建动态变量?
    在Python 中,动态创建变量的功能可以是一种强大的工具,尤其是在使用复杂的数据结构或算法时,Dynamic Variable Creation的动态变量创建。 Python提供了几种创造性的方法来实现这一目标。利用dictionaries 一种有效的方法是利用字典。字典允许您动态创建密钥并分...
    编程 发布于2025-05-04
  • 如何在无序集合中为元组实现通用哈希功能?
    如何在无序集合中为元组实现通用哈希功能?
    在未订购的集合中的元素要纠正此问题,一种方法是手动为特定元组类型定义哈希函数,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    编程 发布于2025-05-04
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction:Inserting data into a MySQL database can...
    编程 发布于2025-05-04
  • Java字符串非空且非null的有效检查方法
    Java字符串非空且非null的有效检查方法
    检查字符串是否不是null而不是空的 if(str!= null && str.isementy())二手: if(str!= null && str.length()== 0) option 3:trim()。isement(Isement() trim whitespace whitesp...
    编程 发布于2025-05-04
  • 如何在GO编译器中自定义编译优化?
    如何在GO编译器中自定义编译优化?
    在GO编译器中自定义汇编优化 go中的默认编译过程遵循特定的优化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    编程 发布于2025-05-04

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3