目录
语法
背景图像属性
动画属性
方法
Example
示例
How to create multiple background image parallax in CSS?
结论
首页 web前端 css教程 如何在CSS中创建多个背景图像视差?

如何在CSS中创建多个背景图像视差?

Aug 28, 2023 pm 11:37 PM

如何在CSS中创建多个背景图像视差?

视差滚动是一种经常使用的设计技术,它为网页增加了运动和深度的感觉。这是通过以不同的速度移动独立的页面元素来模拟平面表面上的深度效果。一种独特而富有想象力的实现这种技术的方法是在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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

使用Redwood.js和Fauna构建以太坊应用 使用Redwood.js和Fauna构建以太坊应用 Mar 28, 2025 am 09:18 AM

随着最近比特币价格超过20k美元的攀升,最近打破了3万美元,我认为值得深入研究创建以太坊

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles