视差滚动是一种经常使用的设计技术,它为网页增加了运动和深度的感觉。这是通过以不同的速度移动独立的页面元素来模拟平面表面上的深度效果。一种独特而富有想象力的实现这种技术的方法是在CSS中利用多个背景图像。在本文中,我们将探讨如何在CSS中创建多个背景图像的视差效果,包括设置HTML结构和CSS样式所需的步骤。无论您是初学者还是经验丰富的前端开发人员,本指南都将为您提供创建令人惊叹的多个背景图像视差效果所需的知识和工具。
语法
element { background-image: url(image-location.jpg); }
背景图像属性
CSS中的background-image属性用于指定一张或多张图片作为HTML元素的背景。这使得能够合并一张或多张图片作为元素的基础。图片可以位于元素的特定区域,可以设置为水平或垂直复制,或者可以调整大小以覆盖整个元素或仅覆盖其中的一部分。
element { animation: name duration timing-function delay iteration-count direction fill-mode play-state; }
动画属性
CSS动画属性赋予了在HTML元素上创建动画的能力,无需使用JavaScript的帮助。该属性使您能够描述元素在给定时间内的修改过程中的一系列关键帧。这些关键帧用于表示元素在不同时间点的样式,而动画属性则控制元素从一个关键帧到另一个关键帧的过渡方式。
下面是对动画属性的每个组成部分的简明解释 -
名称 - 动画的命名法,用于在 @keyframes 规则中引用它。
持续时间 - 动画的持续时间,代表动画应该持续的时间段,以秒为单位,使用时间字符串值(例如"5s")来表示。
Timing-function − 动画的速度轨迹,可以通过线性、缓入、缓出、缓入缓出或自定义的cubic-bezier函数进行操控。
延迟 − 在启动动画之前的延迟时间,以秒为单位进行测量(例如,"2s")。
Iteration-count - 动画应执行的迭代计数,或术语“无限”表示动画应继续无限循环。
Direction - 动画的轨迹,可以是“正常”(沿通常方向)、“反向”(沿相反方向)或“备用”交替前进和后退。
填充模式 − 指定满足动画的非操作状态的方法,选项包括"none"、"forwards"、"backwards"或"both"。
-
Play-state - 表示动画是否处于运动状态或暂停状态,分别用值“运行”或“暂停”表示。
李>
方法
要在CSS中使用多个背景图像产生视差效果,应该按照一系列的指令进行操作 −
提供一个包含环境描绘的组成部分。在当前情况下,该组件是一个带有标签为parallax-container的div。
定义容器元素的高度和宽度,并将overflow属性设置为隐藏。这将确保仅显示图像的可见部分。此外,position 属性设置为relative 以确保背景图像的位置是相对于容器的。
为每个背景图像创建单独的元素,并将它们的位置设置为绝对定位。这样可以精确地在容器元素中定位每个图像。每个元素的高度和宽度都设置为100%,以便填充整个容器。
通过使用background-image属性为每个元素设置背景图像。确保为每个单独的图像提供准确的文件路径。
为每个元素创建一个动画,以沿 X 轴移动背景图像。这是使用动画属性结合 @keyframes 规则来完成的。 TranslateX 属性用于移动元素,您为此属性设置的值决定了元素在水平方向上移动的距离。
为了保持平滑连续的动画体验,animation-timing-function属性被分配了一个linear的值,表示动画在整个过程中保持一致的前进。此外,animation-iteration-count属性被配置为无限值,表示动画无限重复,没有预定义的循环次数限制。
Example
的翻译为:示例
以下是我们将在本示例中查看的完整代码 -
<!DOCTYPE html> <html> <head> <title>How to create multiple background image parallax in CSS?</title> <style> .parallax-container { height: 200px; width: 100%; overflow: hidden; position: relative; } .layer-1, .layer-2, .layer-3 { background-position: center; background-size: cover; position: absolute; height: 200px; width: 100%; } .layer-1 { background-image: linear-gradient(red,orange); animation: move-layer-1 15s linear infinite; } .layer-2 { background-image: linear-gradient(blue,lightblue); animation: move-layer-2 20s linear infinite; } .layer-3 { background-image: linear-gradient(green,lightgreen); animation: move-layer-3 25s linear infinite; } @keyframes move-layer-1 { 0% { transform: translateX(0); } 100% { transform: translateX(-30%); } } @keyframes move-layer-2 { 0% { transform: translateX(0); } 100% { transform: translateX(-60%); } } @keyframes move-layer-3 { 0% { transform: translateX(0); } 100% { transform: translateX(-90%); } } </style> </head> <body> <h4 id="How-to-create-multiple-background-image-parallax-in-CSS">How to create multiple background image parallax in CSS?</h4> <div class="parallax-container"> <div class="layer-1"></div> <div class="layer-2"></div> <div class="layer-3"></div> </div> </body> </html>
结论
总之,在 CSS 中生成多层背景图像视差效果是一种简单而强大的技术,可以为您的网站引入维度和动画。通过遵循本说明中描述的方向,您可以为观众带来视觉上令人愉悦且引人入胜的体验,并被长期记住。无论您的设计愿望是基本的还是复杂的,CSS 的灵活性都使您能够定制您的设计,以满足您独特的先决条件。因此,何不踏上这段旅程,探索设计潜力,取得非凡成果!
以上是如何在CSS中创建多个背景图像视差?的详细内容。更多信息请关注PHP中文网其他相关文章!

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

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

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。