双十一大屏css技术总结——3D翻牌效果

2023-12-24 19:59

本文主要是介绍双十一大屏css技术总结——3D翻牌效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

本文是讲解如何使用css实现3D翻牌效果
以下是双十一大屏中用到的3D翻牌。

这里写图片描述

2 实现

2.1 第一步:场景

我们场景是3D,因此首先设置transform-style属性。
transform-style:preserve-3d;

2.2 第二步:翻转

从上图中我们可以明显看到的是一个翻转效果。
翻转效果如何实现呢?
这里肯定要用到的是transform,对吧。
好,赶紧看看transform都包涵哪些。
3D transform常用的transform-function的功能:
  • translate3d():移元素元素,用来指定一个3D变形移动位移量
  • translate():指定3D位移在Z轴的位移量。
  • scale3d():用来缩放一个元素。
  • scaleZ():指定Z轴的缩放向量。
  • rotate3d():指定元素具有一个三维旋转的角度。
  • rotateX()、rotateY()和rotateZ():让元素具有一个旋转角度。
  • perspective():指定一个透视投影矩阵。
  • matrix3d():定义矩阵变形。
经过查看,我们发现,应该用rotateX(),因为动画中我们是绕X轴旋转180度。
然后,我们YY一下,3D场景下,绕X轴旋转180度后应该是背面。像这样:

这里写图片描述

如果不好理解,可以看下面这个:

这里写图片描述

因此,我们进入到第三步。

2.3 第三步:隐藏

我们要让背面不可见。
backface-visibility: hidden;
为了方便理解,可以看这个:

这里写图片描述

这时你会说,我去,文字本身是平面的,不显示不是没有了么?那怎么办啊?
于是,我们来到第四步。

2.4 第四步:复制

由于这个文字本身是平面的,而场景是3D的,因此,我们需要利用两块来拼成一个整体。
html如下:

<li ><span class="list-item-front"><span>天猫双十一晚上火过春</span></span><span class="list-item-back"><span>天猫双十一晚上火过春</span></span>
</li>
当一个旋转180度显示背面时,设置背面隐藏,另一个则显示正面,如此轮换。
你以为这就完了吗?不,并没有。

2.5 第五步:视角

要知道,这可是3D啊,怎么能少了perspective这玩意儿。
perspective: 600px;
没有它,翻转的时候是这样的:

这里写图片描述

有了它,翻转的时候是这样的:

这里写图片描述

看出差别没?看出差别没?
什么,没看出来? 那我请你看看大漠老师的这个:

这里写图片描述

这里写图片描述



好啦,到这里,我只想说:

这里写图片描述

然后,亲四不四想要源代码呀?请去下面的总结。

3 知识点

在这一篇中,主要涉及到了transform属性中的transform-style、backface-visibility和perspective。

3.1 transform-style

transform-style: flat | preserve-3d

flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。
注意:transform-style属性需要设置在父元素中,并且高于任何嵌套的变形元素。

3.2 backface-visibility

backface-visibility: visible | hidden

visible为backface-visibility的默认值,表示反面可见。
2.3小结的图应该让人很了然啊~

3.3 perspective

perspective:none | <length>

对于perspective属性,我们可以简单的理解为视距,用来设置用户和元素3D空间Z平面之间的距离。

几个大家都知道的小结论:
- perspective取值为none或不设置,就没有真3D空间。
- perspective取值越小,3D效果就越明显,也就是你的眼睛越靠近真3D。
- perspective的值无穷大,或值为0时与取值为none效果一样。

注意:perspective属性需要设置在父结点。

总结

其实,这个大屏的翻牌效果是我们AIS-UED的@业枫同学(欢迎妹子骚扰?)写的。
其实,代码网上一大波,来来来,我给一个:http://codepen.io/whqet/pen/AfLvt 。
最后,今天周五,现在晚上十点了,我
这里写图片描述

这篇关于双十一大屏css技术总结——3D翻牌效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/532954

相关文章

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议