前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3d 旋转(摘抄)

3d 旋转(摘抄)

作者头像
我乃小神神
发布2020-04-24 14:40:30
8430
发布2020-04-24 14:40:30
举报
文章被收录于专栏:前端基础前端基础

实现代码

代码语言:javascript
复制
<cube>
	<side></side>
	<side></side>
	<side></side>
	<side></side>
	<side></side>
	<side></side>
</cube>

css 代码

代码语言:javascript
复制
cube {
  --s: 243px;
  --hs: calc(var(--s) / 2);
  display: block;
  width: var(--s);
  height: var(--s);
  transform-style: preserve-3d;
  will-change: transform;
  animation: r 15s linear infinite;
}

side {
  position: absolute;
  width: 100%;
  height: 100%;

  --sq: conic-gradient(
    from 270deg at calc(100% / 3) calc(100% / 3),
    #fff 90deg,
    transparent 0
  );

  background: var(--sq) calc(var(--s) / 3) calc(var(--s) / 3) / 100% 100%,
    var(--sq) calc(100% / 6) calc(100% / 6) / calc(100% / 3) calc(100% / 3),
    var(--sq) calc(100% / 6) calc(100% / 6) / calc(100% / 9) calc(100% / 9),
    var(--sq) calc(100% / 6) calc(100% / 6) / calc(100% / 27) calc(100% / 27),
    var(--sq) calc(100% / 6) calc(100% / 6) / calc(100% / 81) calc(100% / 81);

  background-color: #000;
  background-blend-mode: difference;
}

side:nth-child(1) {
  transform: translateZ(var(--hs));
}
side:nth-child(2) {
  transform: translateZ(calc(-1 * var(--hs)));
}
side:nth-child(3) {
  transform: rotateY(90deg) translateZ(var(--hs));
}
side:nth-child(4) {
  transform: rotateY(-90deg) translateZ(var(--hs));
}
side:nth-child(5) {
  transform: rotateX(90deg) translateZ(var(--hs));
}
side:nth-child(6) {
  transform: rotateX(-90deg) translateZ(var(--hs));
}

@keyframes r {
  100% {
    transform: rotateX(1turn) rotateY(1turn) rotateZ(1turn);
  }
}

html,
body {
  margin: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #000;
  perspective: 1000px;
}

body:after {
  content: "";
  position: absolute;
  background: radial-gradient(circle at 50% 50%, #ff9800 1%, #673ab7);
  width: 100%;
  height: 100%;
  mix-blend-mode: lighten;
}

成果展示

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档