3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现

我爱撸码,撸码使我感到快乐!

大家好,我是Counter,本章微博主要利用了CSS3的一些新特性,

主要用到关键帧来使3D图形运动起来,涉及到了一些抽象的思想,立体的想象。

先给大家看看完成的效果,代码也不是很难,每行代码都给到了详细注释,纯CSS,没有用到JS,CSS3不错。

效果如下:

4ddc266c0f8fabd74d52151543934631.png

每一行基本都有注释,就不重复说了,代码如下:

3D旋转

/* 给最外层父级设置景深,让里面的元素有立体的空间,并且设置宽高 */

.wrapper {

/* 景深600像素 */

perspective: 500px;

/* 设置margin距离上面100px,左右自适应,下面0 */

margin: 100px auto 0;

width: 200px;

height: 200px;

/* border: 1px solid black; */

}

.box {

/* 设置相对定位好让子元素相对于自己定位 */

position: relative;

/* 给item设置保留3D效果,如果没有设置里面的元素将不会呈现3D效果 */

transform-style: preserve-3d;

width: 200px;

height: 200px;

/* move为设置的关键帧,运动8秒,匀速运动,无限次(各个参数代表的含义) */

animation: move 8s linear infinite;

}

/* 选择所有开头带有item的元素,使其全部定位到父级所在的位置 */

div[class^="item"] {

position: absolute;

top: 0;

left: 0;

width: 200px;

height: 200px;

/* 使文本左右对齐 */

text-align: center;

/* 使文本上下对齐 */

line-height: 200px;

}

/* 立方体有六面,每个item1~6代表每一面,此时里面的item1~6具有三条轴,x,y,z */

/* x轴即是你电脑屏幕宽度的那条轴,从左到右。y轴即是你电脑屏幕高度的那条轴,从上到下。z轴即是你眼睛垂直看电脑屏幕的那条轴,方向从电脑屏幕到你的眼睛*/

/* 设置第一面 */

.item1 {

/* 沿z轴向你眼睛方向移动100px */

transform: translateZ(100px);

/* 设置背景颜色,最后一个参数为透明度设置为0.6 */

background-color: rgba(255, 0, 0, 0.6);

}

/* 设置第二面 */

.item2 {

/* 沿z轴向里移动100px即为-100px */

transform: translateZ(-100px);

background-color: rgba(72, 42, 245, 0.6);

}

/* 设置第三面 */

.item3 {

/* 沿x轴旋转90度,然后再向z轴移动100px(deg在这里表示度的意思) */

transform: rotateX(90deg) translateZ(100px);

background-color: rgba(217, 230, 36, 0.6);

}

/* 设置第四面 */

.item4 {

/* 沿x轴旋转90度,然后再向z轴移动-100px */

transform: rotateX(90deg) translateZ(-100px);

background-color: rgba(58, 7, 51, 0.6);

}

/* 设置第五面 */

.item5 {

/* 沿y轴旋转90度,然后再向z轴移动-100px */

transform: rotateY(90deg) translateZ(-100px);

background-color: rgba(241, 142, 75, 0.6);

}

/* 设置第六面 */

.item6 {

/* 沿y轴旋转90度,然后向z轴移动100px */

transform: rotateY(90deg) translateZ(100px);

background-color: rgba(125, 178, 238, 0.6);

}

/* 设置关键帧让box容器旋转起来,分别沿x,y,z轴从0旋转360度 */

@keyframes move {

0% {

transform: rotateX(0) rotateY(0) rotateZ(0);

}

100% {

transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);

}

}

1
2
3
4
5
6

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java的新视差控件(JavaFX)

介绍 视差是一种视觉效果,您可以组合以不同速度移动的两个分层图像以获得深度感。 想想一下,当您在道路上行驶时,您会看到附近的树木在快速移动,而距离较远的树木将沿相同的方向移动,但速度较慢,结果是您感…

mockito 静态方法_Mockito –带有注释和静态方法的额外接口

mockito 静态方法在代码中,我最近遇到了一段非常糟糕的代码,该代码基于对对象执行某些操作的类转换。 当然,代码需要重构,但是如果您首先没有对该功能进行单元测试,则有时您可能无法做到/或者不想这样做(这…

手机推送信息到本地服务器,服务器信息推送到手机

服务器信息推送到手机 内容精选换一换服务器的计费方式为“包年/包月”,如果在计费周期内不想再继续使用,请参考本节指导进行退订。执行退订操作前,请确保待退订的服务器数据已完成备份或者迁移,退订完成后资源将被完全删除&#…

Apache Camel 2.21发布–新增功能

我们刚刚发布了Apache Camel 2.21,我将在此博客中重点介绍值得注意的更改。 此版本不支持Spring Boot2。对Spring Boot 2的支持将在Camel 2.22中提供, 我们计划在2018年夏季之前发布。 1)处理大型JMS消息 我们在JMS组件中添加了更好的支持&…

linux下网站服务器,Linux下使用Apache搭建Web网站服务器(示例代码)

[[email protected] ~]# yum install elinks –y主配置文件[[email protected] ~]# ls/etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf#我们又是怎么知道httpd的注配置文件是在你那里的呢?查看httpd注配置文件位置[[email protected] ~]# rpm -pql/mnt/Packa…

程序内存泄露监视_监视和检测Java应用程序中的内存泄漏

程序内存泄露监视因此,您的应用程序内存不足,您日夜不停地分析应用程序,以期捕获对象中的内存漏洞。 后续步骤将说明如何监视和检测您的内存泄漏,以确保您的应用程序处于安全状态。 1.怀疑内存泄漏 如果您怀疑有内存泄漏&#xf…

服务器可以装两个系统吗,云服务器可以装多个系统吗

云服务器可以装多个系统吗 内容精选换一换示例:购买并登录Windows弹性云服务器示例:购买并登录Linux弹性云服务器云平台提供了多种实例类型供您选择,不同类型的实例可以提供不同的计算能力和存储能力。同一实例类型下可以根据CPU和内存的配置…

基于FPGA,如何用Verilog HDL实现64位宽的扰码器?附上仿真结果。

文章目录前言一、扰码器1、什么是扰码器2、扰码的原理3、产生扰码的多项式二、Scrambler的Verilog实现1、scrambler.v2、scrambler_tb.v三、仿真结果四、总结前言 在数字信号处理系统中,因为发送端的数字信号序列可能会出现很长一段都是“0”,或很长一段…

基于FPGA,解扰码器Verilog的实现,以及扰码器与解扰码器的联合仿真。附上仿真结果。

文章目录前言一、扰码器二、解扰码器三、Descrambler的Verilog实现1、descrambler.v2、descrambler_tb.v四、扰码器与解扰码器的联合仿真1、scrambler_test.v2、scrambler_test_tb.v3、联合仿真结果五、总结前言 在数字信号处理系统中,因为发送端的数字信号序列可能…

光纤通信系统简介

文章目录前言一、直接检测光通信系统二、相干光通信系统三、直接检测与相干检测1、直接检测2、相干检测3、相干检测的优缺点(1)相干检测的缺点(2)相干检测的优点总结参考文献前言 光通信系统的基本组成结构如下图所示。光通信系统…

OFDM仿真程序,可直接运行,注释详细(没人注释比我还详细了)

OFDM仿真程序 clc clear allIFFT_bin_length128; %IFFT点数128个 carrier_count50; %子信道(子载波)数目 bits_per_symbol2; %4进制符号 symbols_per_carrier200;%每个子信道或者说子载波有200个符号 SNR0:1:40; for num1:41baseband_out_lengthcarrie…

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺…

无载波幅度和相位调制(CAP)与QAM调制的详细解析(可见光通信应用场景),以及CAP matlab程序下载链接

文章目录前言一、QAM调制?二、无载波幅度和相位调制(CAP)三、CAP调制与QAM调制之间的联系(异同点)四、CAP调制相比于QAM调制的优缺点4.1、优点4.2、缺点五、无载波幅度和相位调制matlab程序五、Reference前言 目前的通信系统中&a…

Matlab中装载和存储实验数据的操作

一、装载实验数据 例如,以下程序,其中path是路径,strcat函数将后面的参数组合成一个字符串。load函数将由twoband_CAP4_400MBd_2000MSa_float_字符串与Tx.txt构成的: twoband_CAP4_400MBd_2000MSa_float_Tx.txt文件读取至matlab中。 numSam…

MATLAB中,信号的频谱图该怎么绘制?横坐标如何标注出频率值?

一、什么是频谱? 频谱的全称是频率谱密度。在对时域信号进行认识和研究的过程中非常不便,那我们该如何更直观地认识信号,更清楚地了解信号的特点呢? 利用傅里叶变换将时域信号变换到频域。 我们知道,在通信领域里傅…

Spring Security与Maven教程

1.简介 在这篇文章中,我们将演示如何针对非常特定的用例将Maven依赖项用于Spring Security。 我们使用的所有库的最新版本都可以在Maven Central上找到。 在项目中,了解Maven依赖项的工作方式和管理方式对于有效的构建周期非常重要,并且对于…

利用Verilog HDL实现序列检测器,附上仿真程序。

文章目录一、序列检测器二、状态转移图三、序列检测器Verilog HDL程序1、源程序2、测试平台程序四、仿真结果五、总结一、序列检测器 序列检测器的逻辑功能就是将一个指定的比特序列从一串较长的比特流中识别出来。 例如:针对一个较长的比特流01001001001111010101…

在Java中使用Google的协议缓冲区

最近发布了 有效的Java第三版 ,我一直对确定此类Java开发书籍的更新感兴趣,该书籍的最新版本仅通过Java 6进行了介绍 。 在此版本中,显然有与Java 7 , Java 8和Java 9密切相关的全新项目,例如第7章(“ Lamb…

不同阶QAM调制星座图中,符号能量的归一化计算原理

文章目录前言一、归一化能量计算原理二、Matlab中如何得到归一化能量符号总结前言 在基于QAM调制的matlab仿真程序中,我们通常会产生二进制比特流,并最终映射成QAM符号,该符号大都是格雷编码的。在坐标系中,相邻符号之间的横纵坐…

4qam、16qam、64qam、256qam理论仿真曲线

本博文给出了4qam、16qam、64qam、256qam理论仿真曲线,画出了EbN0 vs BER的曲线图,可以作为大家学习的一个参考。 仿真结果: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Theoretical ber curves of different orde…