基于css3的3D立方体旋转特效 (先translate与先rotate的不同)

2024-03-01 02:32

本文主要是介绍基于css3的3D立方体旋转特效 (先translate与先rotate的不同),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写图片描述
3D变换基于几个比较重要的属性,perspective,translateZ,preserve-3d;
格式:
舞台(perspective)
容器(3D, preserve-3d)
内容

3D实现立方体盒子:
这里写图片描述

这里写图片描述

transform的4个属性,排序不同,带来的效果也不同。
先移动的代码:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>3d</title><style>*{padding: 0;margin: 0;}ul,li{list-style: none;}html{height: 100%;background: #ff0;}div{perspective: 1000px;}ul{width: 200px;height: 200px;margin: 100px auto;position: relative;transform-style: preserve-3d;font-size: 30px;line-height: 200px;text-align: center;color: #fff;transform: rotateX(30deg) rotateY(30deg);animation: rotate 18s infinite linear; }@keyframes rotate{from{transform: rotateX(0deg) rotateY(0deg);}to{transform: rotateX(360deg) rotateY(360deg);}}ul li{width: 100%;height: 100%;position: absolute;border: 1px solid #fff;background: #333;opacity: 0.6;}ul .front{transform: translateZ(100px);}ul .back{transform:translateZ(-100px)  rotateY(180deg);}ul .left{transform: translateX(-100px) rotateY(-90deg) ;}ul .right{transform:translateX(100px)  rotateY(90deg) ;}ul .top{transform: translateY(-100px) rotateX(90deg) ;}ul .bottom{transform: translateY(100px) rotateX(-90deg) ;}</style>
</head>
<body><div><ul><li class="front"></li><li class="back"></li><li class="left"></li><li class="right"></li><li class="top"></li><li class="bottom"></li></ul></div>
</body>
</html>

先旋转后移动,坐标轴改变方向。

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8" /><title>3d</title><style>*{padding: 0;margin: 0;}ul,li{list-style: none;}html{height: 100%;background: #ff0;}div{perspective: 1000px;}ul{width: 200px;height: 200px;margin: 100px auto;position: relative;transform-style: preserve-3d;font-size: 30px;line-height: 200px;text-align: center;color: #fff;transform: rotateX(30deg) rotateY(30deg);animation: rotate 18s infinite linear; }@keyframes rotate{from{transform: rotateX(0deg) rotateY(0deg);}to{transform: rotateX(360deg) rotateY(360deg);}}ul li{width: 100%;height: 100%;position: absolute;border: 1px solid #fff;background: #333;opacity: 0.6;}.front{transform: translateZ(100px);}.back{transform:rotateY(180deg) translateZ(100px);}.left{transform: rotateY(-90deg) translateZ(100px);}.right{transform:rotateY(90deg) translateZ(100px);}.top{transform: rotateX(90deg) translateZ(100px)  ;}.bottom{transform: rotateX(-90deg) translateZ(100px);}</style>
</head>
<body><div><ul><li class="front"></li><li class="back"></li><li class="left"></li><li class="right"></li><li class="top"></li><li class="bottom"></li></ul></div>
</body>
</html>

这篇关于基于css3的3D立方体旋转特效 (先translate与先rotate的不同)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo