扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
作者:安小轩
创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为突泉企业提供专业的成都网站设计、成都网站建设,突泉网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
原文链接:https://juejin.cn/post/
实现一个旋转的立方体,只需要用css的基本属性就可以实现。我们一起看看吧~
transform可以实现元素的2D或3D转换,可以对元素进行旋转,缩放,移动,倾斜等。
基本属性有:
translate
),也可以单个设置某个方向的转换scale
),也可以单个设置某个方向的缩放rotate
),也可以单个设置某个方向的旋转skew
),也可以单个设置某个方向的倾斜perspective
(n) 为 3D 转换元素定义透视视图需求分析:绘制6个面,将面进行旋转,移动组成一个立方体,加入动画效果,使其旋转起来。
复制代码
.cube div{
width: 300px;
height: 300px;
position: absolute;
}
.front {
background: rgba(100, 0, 100, 0.6);
}
.back {
background: rgba(0, 100, 100, 0.5);
}
.left {
background: rgba(100, 1000, 100, 0.5);
}
.right {
background: rgba(1000, 100, 100, 0.5);
}
.top {
background: rgba(1000, 0, 0, 0.5);
}
.bottom {
background: rgba(0, 0, 1000, 0.5);
}
复制代码
如图,所有面都叠在一起,此时需要设置transform属性改变每个面的位置,使得其达到3d立方体效果。
需要设置外层div在z轴上负向移动150px
transform: translateZ(-150px)
复制代码
同时要设置3d效果。这样正面就不会被后面覆盖
transform-style: preserve-3d;
复制代码
设置正面,z轴正向移动150px
transform: translateZ(150px);
复制代码
设置背面,z轴负向移动150px
transform: translateZ(150px);
复制代码
设置左面,先y轴负向移动150px,再x轴旋转90°
transform: translateY(-150px) rotateX(90deg);
复制代码
设置右面,先y轴正向移动150px,再x轴旋转90°
transform: translateY(150px) rotateX(90deg);
复制代码
设置上面,先x轴负向移动150px,再y轴旋转90°
transform: translateX(-150px) rotateY(90deg);
复制代码
设置下面,先x轴正向移动150px,再y轴旋转90°
transform: translateX(150px) rotateY(90deg);
复制代码
main {
animation: rotate 3s linear infinite;
}
@keyframes rotate {
from {
transform: rotateX(0) rotateY(0);
}
to {
transform: rotateX(360deg) rotateY(360deg);
}
}
复制代码
.cube {
width: 300px;
height: 300px;
perspective: 900px;
}
main {
width: 100%;
height: 100%;
transform: translateZ(-150px);
transform-style: preserve-3d;
animation: rotate 3s linear infinite;
}
@keyframes rotate {
from {
transform: rotateX(0) rotateY(0);
}
to {
transform: rotateX(360deg) rotateY(360deg);
}
}
.cube div{
width: 100%;
height: 100%;
position: absolute;
}
.front {
background: rgba(100, 0, 100, 0.6);
transform: translateZ(150px);
}
.back {
background: rgba(0, 100, 100, 0.5);
transform: translateZ(-150px);
}
.left {
background: rgba(100, 1000, 100, 0.5);
transform: rotateY(90deg) translateZ(150px) ;
}
.right {
background: rgba(1000, 100, 100, 0.5);
transform: rotateY(90deg) translateZ(-150px);
}
.top {
background: rgba(1000, 0, 0, 0.5);
transform: rotateX(90deg) translateZ(-150px);
}
.bottom {
background: rgba(0, 0, 1000, 0.5);
transform: rotateX(90deg) translateZ(150px);
}
复制代码
代码看起来是不是很简单,只需要利用css的transform的基本属性就可以实现了。还可以给每个面设置背景图片,这样就可以炫一把了,再加上前面的雪花效果,那就更酷了,快动手试试吧~
近年来,在AIOps领域快速发展的背景下,IT工具、平台能力、解决方案、AI场景及可用数据集的迫切需求在各行业迸发。基于此,云智慧在2021年8月发布了AIOps社区, 旨在树起一面开源旗帜,为各行业客户、用户、研究者和开发者们构建活跃的用户及开发者社区,共同贡献及解决行业难题、促进该领域技术发展。
社区先后 开源 了数据可视化编排平台-FlyFish、运维管理平台 OMP 、云服务管理平台-摩尔平台、 Hours 算法等产品。
可视化编排平台-FlyFish:
项目介绍:https://www.cloudwise.ai/flyFish.html
Github地址: https://github.com/CloudWise-OpenSource/FlyFish
Gitee地址: https://gitee.com/CloudWise/fly-fish
行业案例:https://www.bilibili.com/video/BV1z44y1n77Y/
部分大屏案例:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流