当前位置:首页 > CSS

CSS3制作3D

2026-02-12 17:43:52CSS

CSS3 3D 变换基础

CSS3 的 transform 属性支持 3D 变换,通过以下关键属性实现:

  • rotateX()rotateY()rotateZ():绕 X/Y/Z 轴旋转。
  • translateZ():沿 Z 轴移动(控制深度)。
  • scale3d():三维缩放。
  • perspective:设置透视距离(数值越小,透视效果越强)。

示例代码:

.box {
  transform: rotateX(45deg) rotateY(30deg) translateZ(50px);
  perspective: 1000px;
}

3D 容器与子元素

父容器需设置 transform-style: preserve-3d 以保留子元素的 3D 效果,否则子元素会被压平到 2D 平面。

示例:

CSS3制作3D

.container {
  transform-style: preserve-3d;
  perspective: 500px;
}
.child {
  transform: rotateY(60deg) translateZ(100px);
}

创建 3D 立方体

通过 6 个面组合实现立方体,每个面通过 translateZ 控制位置。

关键代码:

CSS3制作3D

.cube {
  transform-style: preserve-3d;
  transform: rotateX(15deg) rotateY(30deg);
}
.face {
  position: absolute;
  width: 200px;
  height: 200px;
  opacity: 0.8;
}
.front { transform: translateZ(100px); }
.back { transform: translateZ(-100px); }
/* 其他面类似,调整 translateX/Y/Z */

动画与交互

结合 @keyframestransition 实现动态 3D 效果。

旋转动画示例:

@keyframes spin {
  from { transform: rotateY(0); }
  to { transform: rotateY(360deg); }
}
.cube {
  animation: spin 5s infinite linear;
}

性能优化

  • 避免频繁触发重绘,使用 will-change: transform 提示浏览器优化。
  • 优先使用 transformopacity,这两个属性可通过 GPU 加速。

兼容性提示:
部分旧浏览器需前缀(如 -webkit-transform),建议通过工具自动添加。

通过以上方法,可以灵活实现卡片翻转、3D 轮播等效果。

分享给朋友:

相关文章

css好看的表格制作

css好看的表格制作

CSS表格美化方法 边框与间距优化 使用border-collapse合并边框,避免双线边框。设置padding增加单元格内边距,提升可读性。 table { border-collapse:…

css导航制作

css导航制作

基础导航栏制作 使用HTML的无序列表 <ul> 和 <li> 构建导航结构,CSS清除默认样式并横向排列: <nav> <ul class="nav…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯 CSS 和少量 JavaScript 可以制作一个动态时钟。以下是实现步骤: HTML 结构 <div class="clock"> <div…

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

css制作圆角矩形

css制作圆角矩形

使用 border-radius 属性 在 CSS 中,border-radius 是制作圆角矩形的主要属性。该属性可以接受一个或多个值,用于定义元素的四个角的圆角半径。 .rounded-rect…