当前位置: 首页 > article >正文

【css酷炫效果】纯CSS实现立体旋转立方体

【css酷炫效果】纯CSS实现立体旋转立方体

  • 创作背景
  • html结构
  • css样式
  • 完整代码
  • 效果图

想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492014

创作随缘,不定时更新。

创作背景

刚看到csdn出活动了,赶时间,直接上代码。

html结构


<div class="cube-system">
  <div class="cube-container">
    <div class="cube-face front">前面</div>
    <div class="cube-face back">后面</div>
    <div class="cube-face top">上面</div>
    <div class="cube-face bottom">下面</div>
    <div class="cube-face left">左面</div>
    <div class="cube-face right">右面</div>
  </div>
</div>

css样式

.cube-system {
  /* 全局透视 */
  perspective: 800px;
  width: 300px;
  height: 300px;
  margin: 200px auto;
}

.cube-container {
  position: relative;
  width: 200px;
  height: 200px;
  transform-style: preserve-3d;
  animation: rotate 12s infinite linear;
  transition: 0.5s;
}

/* 悬停暂停动画 */
.cube-container:hover {
  animation-play-state: paused;
}

/* 立方体面通用样式 */
.cube-face {
  position: absolute;
  width: 200px;
  height: 200px;
  border: 2px solid #fff;
  background: rgba(0, 150, 255, 0.9);
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 30px rgba(0,0,0,0.2);
}

/* 各面定位 */
.front  { transform: translateZ(100px); }
.back   { transform: rotateY(180deg) translateZ(100px); }
.top    { transform: rotateX(90deg) translateZ(100px); }
.bottom { transform: rotateX(-90deg) translateZ(100px); }
.left   { transform: rotateY(-90deg) translateZ(100px); }
.right  { transform: rotateY(90deg) translateZ(100px); }

@keyframes rotate {
  0%   { transform: rotateX(0) rotateY(0); }
  50%  { transform: rotateX(360deg) rotateY(180deg); }
  100% { transform: rotateX(720deg) rotateY(360deg); }
}

完整代码

<!DOCTYPE html>
<html lang="en"> 
<head>

<title>页面特效</title>
<style>
.cube-system {
  /* 全局透视 */
  perspective: 800px;
  width: 300px;
  height: 300px;
  margin: 200px auto;
}

.cube-container {
  position: relative;
  width: 200px;
  height: 200px;
  transform-style: preserve-3d;
  animation: rotate 12s infinite linear;
  transition: 0.5s;
}

/* 悬停暂停动画 */
.cube-container:hover {
  animation-play-state: paused;
}

/* 立方体面通用样式 */
.cube-face {
  position: absolute;
  width: 200px;
  height: 200px;
  border: 2px solid #fff;
  background: rgba(0, 150, 255, 0.9);
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 30px rgba(0,0,0,0.2);
}

/* 各面定位 */
.front  { transform: translateZ(100px); }
.back   { transform: rotateY(180deg) translateZ(100px); }
.top    { transform: rotateX(90deg) translateZ(100px); }
.bottom { transform: rotateX(-90deg) translateZ(100px); }
.left   { transform: rotateY(-90deg) translateZ(100px); }
.right  { transform: rotateY(90deg) translateZ(100px); }

@keyframes rotate {
  0%   { transform: rotateX(0) rotateY(0); }
  50%  { transform: rotateX(360deg) rotateY(180deg); }
  100% { transform: rotateX(720deg) rotateY(360deg); }
}
</style>


</head>
<body>

	
<div class="cube-system">
  <div class="cube-container">
    <div class="cube-face front">前面</div>
    <div class="cube-face back">后面</div>
    <div class="cube-face top">上面</div>
    <div class="cube-face bottom">下面</div>
    <div class="cube-face left">左面</div>
    <div class="cube-face right">右面</div>
  </div>
</div>

</body>
</html>

效果图

在这里插入图片描述


http://www.kler.cn/a/594656.html

相关文章:

  • 前端import() 中的动态表达式有哪些?怎么用?
  • Oracle 19c 子分区表索引测试
  • Git拉取代码报错“The TLS connection was non-properly terminated”记录
  • 【实战案例】用STAR+3W模型拆解电商支付系统设计文档
  • Socket封装---模板方法类
  • SvelteKit 最新中文文档教程(6)—— 状态管理
  • created在vue3 script setup中的写法
  • 新增菜品-02.代码开发2
  • 基于CVX优化器的储能电池调峰调频算法matlab仿真
  • 算法训练篇06--力扣611.有效三角形的个数
  • 【蓝桥杯速成】| 8.回溯算法
  • 什么是 HTML 实体,常见的 HTML 实体有哪些用途?
  • DeepSeek引爆AIoT革命:华奥系科技领跑“万物智联”时代
  • 实现Token无感刷新
  • 合批Batching
  • 【DR_CAN-最优控制笔记】02.动态规划_Dynamic Programming_基本概念
  • 力扣977. 有序数组的平方(双指针技巧)
  • 三、小白学JAVA-比较运算符与循环
  • Java设计模式之责任链模式
  • UML(统一建模语言)中总共有哪些图