响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例3-4 CSS 立方体

代码

html 复制代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS 立方体</title>
<link href="CSS/style.css" rel="stylesheet" type="text/css">
<style>
.box {
    width: 200px;
    height: 200px;
    position: relative;
    /*透视:1000px(元素距视图的距离为1000px)*/
    perspective: 1000px;
    /*定义子元素保留3D位置*/
    transform-style: preserve-3d;
    transform: translate(150px, 100px) rotateX(-30deg) rotateY(30deg);
}
</style>
</head>

<body>
<div class="box">
  <div class="front">1</div>
  <div class="back">2</div>
  <div class="left">3</div>
  <div class="right">4</div>
  <div class="top">5</div>
  <div class="bottom">6</div>
</div>
</body>
</html>

上述代码中:

第8~17行代码定义了3D环境容器,设置transform-style:的值为preserve-3d(设置3D环境);

第13行代码设置perspective:的值为1000px(元素距视图的距离为1000px);

第11行代码设置position的值为relative(相对定位);

第16行代码的作用是设置3D容器的位移和旋转角度;

第23~28行代码定义了立方体每个面的结构。

运行效果

3D变形是指某一个元素围绕其x轴、y轴和z轴进行旋转。由于计算机屏幕是二维平面,所以需要通过perspective属性才可以实现视觉上的3D效果。

如果不做perspective(透视)设置是无法实现立方体效果的;而不设置 transform-style: preserve-3d;属性,则会使得这个立方体是"扁"的。

相关推荐
deli00739 分钟前
32K 上下文塞满后,AI 最先忘掉什么?120 轮对话实测
前端
deli0072 小时前
手机拍灯为什么有一条条黑纹?PWM 240Hz 实测
前端
wangruofeng6 小时前
AI Models 1.1.0 发布,查大模型价格、对比模型和找 API 地址
前端·aigc·ai编程
wangruofeng7 小时前
给前端开发者的 100 个设计参考网站
前端·设计
星栈10 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技10 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户479492835691510 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马12 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng13 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
清晨Coding14 小时前
为什么用 React Developer Tools 查看组件树这么乱?
前端·react.js