首页 > 其他分享 >使用css3画个旋转的立方体

使用css3画个旋转的立方体

时间:2024-12-08 09:12:43浏览次数:8  
标签:css3 cube translateZ 100px transform background 立方体 画个 255

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Rotating Cube</title>
<style>
body {
  background-color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  perspective: 1000px; /* Add perspective for 3D effect */
}

.cube-container {
  width: 200px;
  height: 200px;
  position: relative;
  transform-style: preserve-3d; /* Essential for 3D transforms */
  animation: rotate 10s linear infinite; /* Animate the rotation */
}

.cube-face {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.8; /* Make faces slightly transparent */
  border: 2px solid white; /* Add borders to the faces */
}

.front {
  background-color: rgba(255, 0, 0, 0.5); /* Red */
  transform: translateZ(100px);
}

.back {
  background-color: rgba(0, 255, 0, 0.5); /* Green */
  transform: translateZ(-100px) rotateY(180deg);
}

.right {
  background-color: rgba(0, 0, 255, 0.5); /* Blue */
  transform: rotateY(90deg) translateZ(100px);
}

.left {
  background-color: rgba(255, 255, 0, 0.5); /* Yellow */
  transform: rotateY(-90deg) translateZ(100px);
}

.top {
  background-color: rgba(255, 0, 255, 0.5); /* Magenta */
  transform: rotateX(90deg) translateZ(100px);
}

.bottom {
  background-color: rgba(0, 255, 255, 0.5); /* Cyan */
  transform: rotateX(-90deg) translateZ(100px);
}


@keyframes rotate {
  from {
    transform: rotateX(0deg) rotateY(0deg);
  }
  to {
    transform: rotateX(360deg) rotateY(360deg);
  }
}
</style>
</head>
<body>

<div class="cube-container">
  <div class="cube-face front"></div>
  <div class="cube-face back"></div>
  <div class="cube-face right"></div>
  <div class="cube-face left"></div>
  <div class="cube-face top"></div>
  <div class="cube-face bottom"></div>
</div>

</body>
</html>

Key improvements and explanations:

  • perspective on the body: This creates the 3D scene and allows us to see the cube in perspective. It's crucial for the 3D effect.
  • transform-style: preserve-3d; on the container: This is essential. It tells the browser to render the child elements in 3D space, allowing for proper rotations and translations.
  • translateZ() for each face: This positions each face along the z-axis, creating the cube shape. Half the width (or height) is used for the translateZ value (100px in this case since the cube is 200px).
  • rotateX, rotateY, rotateZ for rotations: Used to rotate the faces into their correct positions.
  • rgba() for background colors: Allows for semi-transparent faces, making the rotations more visually appealing.
  • border for visual separation: Adds white borders to help distinguish the faces.
  • Clean and organized CSS: Improved readability and maintainability.
  • Comments explaining the code: Makes the code easier to understand.

This improved code creates a visually appealing rotating cube with proper 3D perspective and clearly defined faces. You can adjust the colors, size, and animation speed to customize the cube to your liking.

标签:css3,cube,translateZ,100px,transform,background,立方体,画个,255
From: https://www.cnblogs.com/ai888/p/18593015

相关文章

  • 133. 大学生HTML5期末大作业 ―【迪士尼影视网页】 Web前端网页制作 html5+css3+js
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强七、更多推荐一、更多推荐欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、......
  • CSS3——transform属性
    一、前言transform属性是CSS3中新增的一种非常强大的属性,它允许你旋转、缩放、倾斜或平移给定元素。这是通过修改CSS视觉格式化模型的坐标空间实现的。接下来就让我们一起学习transform属性二、transfrom:translate;位移,可以改变元素的位置,translateX让元素沿X轴......
  • jQuery和css3超赞select下拉列表框美化插件
    这是一款效果超赞的jQuery和css3select下拉列表框美化插件。这个select下拉列表框插件没有使用任何的图片,纯css制作,还使用了一点jQuery来完成动作交互。在线演示 下载 有两个地方需要做下说明:下面的代码中没有使用任何厂商的前缀。在插件中使用了CSS盒子模式(box-model):......
  • jQuery和CSS3打造GOOGLE样式的用户登录界面
    这是一款使用Jquery和css3打造的GOOGLE样式的用户登录界面特效。该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作,用户名和密码输入框采用浮动标签特效,可点击的按钮上使用了很酷的点击波特效。整个登录界面简洁大方,互动性很强。在线演示 下载 该用户登录界面......
  • H5-30 CSS3 新特性
    1、圆角使用CSS3border-radius属性,你可以给任何元素制作“圆角”border-radius属性,可以使用以下规则:①四个值:第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角②三个值:第一个值为左上角,第二个值为右上角和左下角,第三个值为右下角③......
  • 使用css画个鸡蛋
    .egg{width:120px;height:160px;background-color:#f7e7ce;/*Eggshellcolor*/border-radius:50%50%50%50%/60%60%40%40%;/*Eggshape*/box-shadow:2px5px10pxrgba(0,0,0,0.1);/*Subtleshadow*/position:relative;}.yolk......
  • 用js写一个方法检测浏览器是否支持css3的属性
    functionsupportsCSSProperty(propertyName){//Createadummyelementtotestthepropertyonletelement=document.createElement('div');//Checkifthepropertyexistsdirectlyonthestyleobjectif(propertyNameinelement.style)......
  • 请使用css3实现图片的平滑转换
    可以使用CSS3的transition属性来实现图片的平滑过渡效果。以下是一些常见的应用场景和示例代码:1.鼠标悬停时放大图片:<imgsrc="image.jpg"alt="MyImage">img{width:200px;height:150px;transition:transform0.3sease;/*定义过渡效果*/}img:hover......
  • HTML5+CSS3+JS制作响应式旅游网站(源码含7个页面)
    一、网站描述主要使用HTML5+CSS3+JS技术,进行制作响应式旅游网站,该网站包含7个静态页面,分别是目的地、旅游攻略、特色行程、酒店预订、联系我们、注册页面、登录页面。其中,该旅游网站的官网首页,包含吸引眼球的主要横幅、导航菜单、推荐景点栏以及用户评价部分。页面整体以直观......
  • 305.大学生HTML5期末大作业 —【摩尔庄园小游戏主题网页】 Web前端网页制作 html5+css
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强一、更多推荐欢迎来到我的CSDN主页!您的支持是我创作的动力!Web前端网页制作、网页完整代码、大学生期末大作......