当前位置:首页 > CSS

css制作开门动画

2026-04-02 10:13:14CSS

使用 CSS 制作开门动画

开门动画可以通过 CSS 的 transformtransition 属性实现。以下是一个完整的实现方案:

创建 HTML 结构

<div class="door-container">
  <div class="door left-door"></div>
  <div class="door right-door"></div>
</div>

添加 CSS 样式

.door-container {
  position: relative;
  width: 300px;
  height: 400px;
  perspective: 1000px;
  margin: 0 auto;
}

.door {
  position: absolute;
  width: 50%;
  height: 100%;
  background-color: #8B4513;
  transition: transform 1s ease;
  transform-origin: 0% 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.left-door {
  left: 0;
  border-right: 1px solid #000;
}

.right-door {
  right: 0;
  transform-origin: 100% 50%;
}

.door-container:hover .left-door {
  transform: rotateY(-90deg);
}

.door-container:hover .right-door {
  transform: rotateY(90deg);
}

添加 3D 效果增强

要增强 3D 效果,可以修改 CSS:

css制作开门动画

.door-container {
  transform-style: preserve-3d;
}

.door {
  backface-visibility: visible;
}

添加门把手细节

在 HTML 中添加门把手:

<div class="door left-door">
  <div class="handle"></div>
</div>
<div class="door right-door">
  <div class="handle"></div>
</div>

对应的 CSS:

css制作开门动画

.handle {
  position: absolute;
  width: 10px;
  height: 20px;
  background: #FFD700;
  border-radius: 5px;
}

.left-door .handle {
  right: 10px;
  top: 50%;
}

.right-door .handle {
  left: 10px;
  top: 50%;
}

使用关键帧动画实现自动开关

要实现自动开关效果,可以使用 CSS 动画:

@keyframes doorOpen {
  0% { transform: rotateY(0); }
  50% { transform: rotateY(-90deg); }
  100% { transform: rotateY(0); }
}

@keyframes doorOpenRight {
  0% { transform: rotateY(0); }
  50% { transform: rotateY(90deg); }
  100% { transform: rotateY(0); }
}

.door-container .left-door {
  animation: doorOpen 5s infinite;
}

.door-container .right-door {
  animation: doorOpenRight 5s infinite;
}

响应式调整

为确保在不同屏幕尺寸下的显示效果:

@media (max-width: 600px) {
  .door-container {
    width: 200px;
    height: 300px;
  }
}

标签: 动画css
分享给朋友:

相关文章

制作css

制作css

CSS基础语法 CSS规则由选择器和声明块组成。选择器指向需要设置样式的HTML元素,声明块包含一个或多个用分号分隔的声明。每个声明由属性和值组成,用冒号分隔。 选择器 { 属性: 值; 属…

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &l…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…

css怎么制作首字下沉

css怎么制作首字下沉

首字下沉的实现方法 首字下沉是一种常见的排版效果,通过放大段落的首字母并使其下沉,可以增强文本的视觉吸引力。以下是几种实现方法: 使用::first-letter伪元素 通过CSS的::first-…

制作 .css

制作 .css

创建 CSS 文件的基本步骤 新建一个文本文件,将其保存为 .css 扩展名(例如 style.css)。使用纯文本编辑器(如 Notepad++、VS Code 或 Sublime Text)编写…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox实现水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { backgroun…