当前位置:首页 > CSS

CSS3制作3D

2026-01-27 23:17:45CSS

CSS3 3D 变换基础

CSS3 提供了 transform 属性来实现 3D 效果,核心属性包括 rotateX()rotateY()rotateZ()translateZ()perspectiveperspective 定义观察者与 3D 空间的视距,值越小透视感越强。

.container {
  perspective: 1000px; /* 视距 */
}
.box {
  transform: rotateX(45deg) rotateY(30deg) translateZ(50px);
}

3D 空间容器设置

使用 transform-style: preserve-3d 让子元素在 3D 空间内渲染,而非平面投影。需注意该属性需设置在父容器上。

.parent {
  transform-style: preserve-3d;
}
.child {
  transform: rotateY(60deg);
}

制作 3D 立方体

通过 6 个面(前、后、左、右、上、下)组合,结合 translateZ 调整位置:

.cube {
  position: relative;
  transform-style: preserve-3d;
  width: 200px;
  height: 200px;
}
.face {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.8;
}
.front { transform: translateZ(100px); }
.back { transform: translateZ(-100px); }
.left { transform: rotateY(-90deg) translateZ(100px); }
.right { transform: rotateY(90deg) translateZ(100px); }
.top { transform: rotateX(90deg) translateZ(100px); }
.bottom { transform: rotateX(-90deg) translateZ(100px); }

动画与交互

通过 transition@keyframes 实现动态 3D 效果。例如悬停旋转:

.cube {
  transition: transform 1s;
}
.cube:hover {
  transform: rotateY(180deg);
}

或使用动画关键帧:

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

性能优化建议

避免频繁触发重绘,优先使用 transformopacity。硬件加速可通过 will-change 提示浏览器:

.element {
  will-change: transform;
}

浏览器兼容性

需前缀支持旧版浏览器(如 -webkit-transform)。可通过工具自动添加前缀,或使用 PostCSS 等方案。测试时需覆盖主流浏览器(Chrome、Firefox、Safari)。

CSS3制作3D

分享给朋友:

相关文章

css网页制作教程

css网页制作教程

CSS网页制作教程 CSS(层叠样式表)是用于控制网页外观和布局的核心技术。以下是CSS网页制作的关键步骤和技巧: 基础语法与引入方式 CSS规则由选择器和声明块组成: 选择器 { 属性:…

css3动画制作

css3动画制作

CSS3动画基础 CSS3动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。核心属性包括: animation-name: 指定@keyframes名称 anim…

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成: 选择…

css按钮制作

css按钮制作

基础按钮样式 使用CSS创建基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单的按钮样式示例: .button {…

css制作图片

css制作图片

CSS 制作图片的方法 使用 background-image 属性 通过 background-image 属性可以为元素设置背景图片。这种方法适用于将图片作为背景而非内容的一部分。 .elem…

css3图标制作

css3图标制作

CSS3 图标制作方法 使用 CSS3 制作图标是一种轻量级且灵活的方式,无需依赖图片资源。以下是几种常见的方法: 使用伪元素和边框 通过 ::before 和 ::after 伪元素结合边框属性可…