”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 HTML 和 CSS 创建翻页卡动画

如何使用 HTML 和 CSS 创建翻页卡动画

发布于2024-11-08
浏览:482

How to Create Flip Card Animation Using HTML and CSS

在这篇文章中,我们将了解如何使用 HTML 和 CSS 以及渐变背景创建时尚的 3D 翻转卡片动画。

访问我的网站

了解结构

我们将使用卡片的两侧(正面和背面)来创建翻转效果。此效果将在悬停时使用 CSS 过渡激活。

Front Side
Back Side

这个简单的 HTML 结构包含一个具有两侧的 div 元素:一侧为正面,一侧为背面。

.card {
    perspective: 150rem;
    position: relative;
    height: 40rem;
    max-width: 400px;
    margin: 2rem;
    box-shadow: none;
    background: none;
  }

.card-side {
    height: 35rem;
    border-radius: 15px;
    transition: all 0.8s ease;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    padding: 2rem;
    color: white;
}

.card-side.back {
    transform: rotateY(-180deg);
    background-color: #4158D0;
    background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%,#FFCC70 100%);
}

.card-side.front {
    background-color: #0093E9;
    background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%);
}

.card:hover .card-side.front {
    transform: rotateY(180deg);
}

.card:hover .card-side.back {
    transform: rotateY(0deg);
}

现场演示

backface-visibility:当正面可见时隐藏卡片背面的内容,反之亦然。

将卡片背面的rotateY()设置为-180deg,正面设置为0deg。

透视:通过让卡片看起来像是在空间中翻转来增加 3D 效果的深度。

悬停时,将前侧旋转 Y() 设置为 180 度,后侧设置为 0 度。

结论

只需几行 HTML 和 CSS,您就可以创建令人惊叹的 3D 翻转卡片动画,为您的网站增添动态感。尝试尝试颜色和效果,使其独一无二

版本声明 本文转载于:https://dev.to/kaja_uvais_a8691e947dd399/how-to-create-3d-flip-card-animation-using-html-and-css-2fgb?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 使用 LangSmith Hub 改变您的工作流程:JavaScript 工程师的游戏规则改变者
    使用 LangSmith Hub 改变您的工作流程:JavaScript 工程师的游戏规则改变者
    分散的人工智能提示是否会减慢您的开发进程?了解 LangChain Hub 如何彻底改变您的工作流程,为 JavaScript 工程师提供无缝且高效的即时管理。 介绍 想象一下管理一个项目,其中关键信息分散在文件中。令人沮丧,对吧?这就是处理 AI 提示的开发人员面临的现实。 Lan...
    编程 发布于2024-11-08
  • 如何在 PHP 中将数值转换为字符串表示形式?
    如何在 PHP 中将数值转换为字符串表示形式?
    将数值转换为 PHP 中的字符串表示形式将数值转换为 PHP 中相应的字符串版本是一项常见任务,尤其是在工作时与文本处理或面向用户的应用程序。当处理特定范围内的值时,这种转换变得尤其重要,例如将数字从 1 到 99 转换为其等效文本。要执行此转换,我们可以利用 PEAR 包 Numbers_Word...
    编程 发布于2024-11-08
  • 如何在 Bigquery 参数化查询中传递结构数组
    如何在 Bigquery 参数化查询中传递结构数组
    在Google的Bigquery中,SQL查询可以参数化。如果您不熟悉这个概念,它基本上意味着您可以将 SQL 查询编写为参数化模板,如下所示: INSERT INTO mydataset.mytable(columnA, columnB) VALUES (@valueA, @valueB)...
    编程 发布于2024-11-08
  • 如何使用 Python“for”循环实现 C/C++ 风格循环?
    如何使用 Python“for”循环实现 C/C++ 风格循环?
    在 Python 中实现 C/C 风格循环:“for”循环在 Python 中,循环提供了一种用于迭代序列的通用机制。虽然 Python 的“for”循环语法与其 C/C 对应部分不同,但实现类似的功能仍然是可行的。考虑 C/C 中的以下循环:for(int k = 1; k <= c; k ...
    编程 发布于2024-11-08
  • Laravel 入门:查询生成器初学者指南
    Laravel 入门:查询生成器初学者指南
    Laravel 的 查询生成器 提供了一个强大、流畅的界面,用于在 PHP 中构建 SQL 查询。它允许您以富有表现力的、类似 SQL 的语法与数据库交互,同时抽象出大部分复杂性。 我们将演练 Laravel 应用程序中的典型用例,使用查询生成器执行各种任务,例如选择、插入、更新和删除数据。 ...
    编程 发布于2024-11-08
  • 如何截断长分页列表以增强用户体验?
    如何截断长分页列表以增强用户体验?
    截断长页面列表以实现高效分页分页是任何显示大量数据的网站或应用程序的重要组成部分,因为它允许用户以可管理的块的方式浏览它。但是,如果以简单的方式实现,分页可能会导致页面列表过长,特别是当应用于具有大量页面的数据集时。为了缓解此问题,有必要截断这些页面列表为用户提供更简洁的导航选项。在本文中,我们将深...
    编程 发布于2024-11-08
  • 如何在 JavaScript 中展平数组
    如何在 JavaScript 中展平数组
    使用递归和 while 循环是更简单的方法之一 export default function flatten(value) { const arr = [] const flat = (a) => { let counter = 0 console.log(a) ...
    编程 发布于2024-11-08
  • 为什么我无法在 Powershell 中运行复杂的 ImageMagick 命令,但它们可以在 CMD 中运行?
    为什么我无法在 Powershell 中运行复杂的 ImageMagick 命令,但它们可以在 CMD 中运行?
    ImageMagick 命令无法在 Powershell 中运行,但在 cmd 窗口中运行没有问题在尝试使用 ImageMagick 命令时,用户在 Powershell 窗口中执行它们时遇到了挑战。这些命令在 cmd 窗口中无缝运行。尝试通过在括号前添加反斜杠来解决该问题也没有成功。调查显示,ma...
    编程 发布于2024-11-08
  • 什么时候可以从 C++ 标准库类继承?
    什么时候可以从 C++ 标准库类继承?
    通过继承扩展 C 标准库虽然人们通常认为从 C 标准库类继承是不可取的,但也有一些值得注意的例外.可识别的类继承确定标准库类是否用于继承可能具有挑战性。但是,以下准则可以提供一些见解:如果类具有虚方法,则它可能是继承的候选者。过多的“friend”声明表明存在封装问题,从而导致继承不太合适。模板应该...
    编程 发布于2024-11-08
  • 利用 AI 快速学习 Node.js - 第 2 天
    利用 AI 快速学习 Node.js - 第 2 天
    今天,我借助AI继续我的Node.js学习之旅,第2天的主题是Node.js中的模块系统。由于我已经熟悉 JavaScript,因此了解这种语言如何将代码组织成模块,从而使其更易于构建和重用是很有趣的。 理论部分:Node.js 中的模块基础知识 首先,我完成了理论部分,其中解释了两...
    编程 发布于2024-11-08
  • 优化 Next.js 应用性能的经过验证的技巧 ⚡️
    优化 Next.js 应用性能的经过验证的技巧 ⚡️
    优化 Web 应用程序的性能对于提供快速、流畅的用户体验至关重要。 借助 Next.js 这个强大的 React 框架,您可以利用许多内置功能来提高应用程序的速度和效率。 以下是让 Next.js 应用获得最佳性能的十个关键策略: 1. 仅加载您需要的 JavaScript 和 ...
    编程 发布于2024-11-08
  • 为什么 Python 和 Golang Zlib 产生不同的压缩输出?
    为什么 Python 和 Golang Zlib 产生不同的压缩输出?
    了解 Golang 和 Python Zlib 输出的差异使用 Zlib 压缩来压缩字符串时,Python 的 zlib 库会产生与Golang 的 zlib 实现。具体来说,第五个字节不同,Python 的值为 0,而 Golang 的值为 4。差异原因输出的差异源于来自 Python 和 Go ...
    编程 发布于2024-11-08
  • 如何在PHP中按扩展名高效过滤文件?
    如何在PHP中按扩展名高效过滤文件?
    在 PHP 中按扩展名高效过滤文件您希望根据文件扩展名过滤目录中的文件,特别是 . ini 文件。虽然 scandir() 提供目录中所有文件的列表,但它并不是过滤检索的最有效方法。利用 PHP 的 glob() 函数高效获取具有特定扩展名的文件,利用 PHP 的 glob() 函数。此函数采用模式...
    编程 发布于2024-11-08
  • FiveM x TypeScript
    FiveM x TypeScript
    FiveM 是 Grand Theft Auto V 的修改版,使您能够在由 Cfx.re 提供支持的定制专用服务器上玩多人游戏。 当您开发 FiveM 服务器时,您可以创建资源。这些资源可以用多种语言编写:Lua、C# 和 JavaScript。在本文中,我们将了解如何使用 TypeScript...
    编程 发布于2024-11-08
  • 完整指南:在 Telegram 和 MetaTraderm Python 之间构建安全集成机器人
    完整指南:在 Telegram 和 MetaTraderm Python 之间构建安全集成机器人
    Bem-vindo! Este guia é projetado desenvolvedores intusiastas em Python que desejam criar um bot que monitora mensagens no Telegram e interage com o Me...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3