0

0

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

WBOY

WBOY

发布时间:2023-09-16 14:05:08

|

1344人浏览过

|

来源于tutorialspoint

转载

如何使用html和css创建图像堆叠幻觉?

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

什么是图像堆栈错觉?

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

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

应遵循的步骤

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

    立即学习前端免费学习笔记(深入)”;

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

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

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

    阿里云AI平台
    阿里云AI平台

    阿里云AI平台

    下载
  • 将伪元素的 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 种不同的错觉。但是,还有更多可能,您所需要做的就是按照此处讨论的相同步骤进行练习并创建自己的视觉效果。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

606

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

606

2023.08.10

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

891

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

32

2025.12.06

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

83

2023.11.23

photoshop cs5序列号
photoshop cs5序列号

Photoshop序列号是指Adobe公司为其图像编辑软件Photoshop提供的一种许可证认证方式。每个购买正版Photoshop软件的用户都会得到一个独特的序列号,用于激活软件并证明其合法性。通过输入正确的序列号,用户可以解锁软件的所有功能,并享受Adobe提供的更新和技术支持。那么有没有什么永久免费的序列号呢,php中文网就给大家带来了photoshop cs5序列号序列号大全,同时还为大家带来了ps的相关课程,欢迎大家前来下载学

526

2023.07.06

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 42.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号