首页 > 文章列表 > 如何使用HTML和CSS创建图像堆叠幻觉?

如何使用HTML和CSS创建图像堆叠幻觉?

css HTML 图像堆叠
452 2023-09-16

在 Web 开发方面,视觉错觉非常令人着迷。在我们的网站中使用视觉错觉可以吸引用户,因为它可以玩弄他们的思想。它欺骗我们的大脑,让我们相信一些实际上不存在的东西。这些错觉可以使用 CSS 中的各种技术来创建。最常用的错觉之一是图像堆栈错觉,它只是一种深度错觉。在本文中,我们将讨论仅使用 HTML 和 CSS 创建图像堆栈错觉所涉及的步骤。让我们开始吧。

什么是图像堆栈错觉?

图像堆叠错觉是一种视觉错觉,是通过将多个具有不同透明度的图像堆叠在一起而产生的。当您从某个角度观看时,所有图像都会相互混合并产生三维图像的错觉。

此效果之前是使用 Photoshop 完成的。然而,现在我们可以简单地使用 HTML 和 CSS 来创建一个。

应遵循的步骤

  • 创建一个 div 元素,其中包含图像。这将是第一个堆栈的表面。

  • 使用边框和框阴影属性设置 img 元素的样式。

  • 为 div 元素指定尺寸(class=“stack1”)。将 div 元素的位置保持为 relative,以便即将到来的伪元素(:before 和 :after 元素)的 position 将保持相对于 div 元素,而不是相对于因为我们将把这些伪元素的位置保持为绝对位置。将 div 元素向左浮动。添加边距和填充以获得更好的外观。

  • 使用属性“:before”添加堆栈的第一个伪元素。不要向其中添加内容。指定其尺寸并赋予其绝对定位。使用背景颜色、框阴影和边框属性对其进行样式设置。

  • 将伪元素的 z 索引保持为 -1。赋予 top 和 left 不同的值,以赋予其不同的位置并产生不同的幻觉。您还可以旋转伪元素来观察不同的效果。

  • 使用属性“:after”创建第二个伪元素。它的样式与第一个伪元素类似。只需更改顶部、左侧和变换值即可创建视觉错觉。这样就完成了您的第一个堆栈。

  • 同样,您可以在网页中创建尽可能多的堆栈。在这里,我们在一个页面中创建了 2 个堆栈。

示例

在此示例中,我们创建了一堆图像。对于堆栈,我们将 top、left 和变换值保留为 -15px、-15pxrotate(-10deg) 。 >:before 伪元素,而 5px, 0rotate(10deg) 则为 :after 伪元素。为每个伪元素赋予不同的背景颜色以获得更大的影响。

<html>
<head>
   <style>
      * {
         margin: 0;
         padding: 0;
      }
      body {
         background-color: #B9C8BC;
      }
      img {
         height: 253px;
         width: 262px;
         border: 10px solid white;
         box-shadow: 4px 4px 4px grey;
      }
      h1 {
         text-align: center;
         text-decoration: underline;
         font-family: Georgia;
      }
      .stack1,
      .stack2,
      .stack3 {
         float: left;
         position: relative;
         margin: 65px;
         padding: 3px;
      }
      .stack1:before,
      .stack1:after {
         content: "";
         border: 10px solid white;
         position: absolute;
         z-index: -1;
      }
      .stack1 {
         height: 250px;
         width: 260px;
      }
      .stack1:before {
         height: 280px;
         width: 260px;
         background-color: grey;
         top: -15px;
         left: -15px;
         transform: rotate(-10deg);
         box-shadow: 4px 2px 4px #9a2ca0;
      }
      .stack1:after {
         height: 250px;
         width: 260px;
         background-color: #808000;
         top: 5px;
         left: 0;
         transform: rotate(10deg);
         box-shadow: 4px 2px 4px #9a2ca0;
      }
   </style>
</head> 
<body>  
   <h1> Image Stack Illusion </h1>
   <div class="stack1">
      <img src="https://www.tutorialspoint.com/images/physics-tutorials_icon.svg">
   </div>
</body>
</html>

我们可以在网页设计中的哪些地方使用图像堆栈错觉?

在网页设计中,图像堆栈幻觉可用于创建各种令人兴奋的视觉布局。它可用于制作引人注目的图像画廊和引人入胜的产品广告页面。此外,设计师还可以用它来展示他们的作品集。行业和大企业可以结合这种效果来创建他们的登陆页面。

结论

图像堆栈错觉广泛用于网页开发、广告和图形设计。许多用户的吸引力说服了开发者创造更多这样引人注目的视觉效果。此外,我们不再依赖 Photoshop 应用程序来实现这种效果。我们只需使用 HTML 和 CSS 即可轻松创建它。在本文中,我们使用伪类(:before:after)来实现所需的结果。我们在本文中看到了 6 种不同的错觉。但是,还有更多可能,您所需要做的就是按照此处讨论的相同步骤进行练习并创建自己的视觉效果。