如何在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>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中创建多个背景图像视差?的详细内容,更多请关注双恒网络其它相关文章!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 如何在CSS中创建多个背景图像视差?

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12310资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1506稳定运行(天)

提供最优质的资源集合

立即查看 了解详情