当前位置:首页 > 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 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table>…

css 制作三角形

css 制作三角形

使用 CSS 制作三角形的方法 边框法(Border Method) 通过设置元素的宽高为0,并利用边框的透明属性来创建三角形。这是最常见且兼容性最好的方法。 向上三角形 .triangle-…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

css制作下拉菜单

css制作下拉菜单

使用纯CSS制作下拉菜单 通过HTML和CSS可以创建无需JavaScript的下拉菜单,主要利用:hover伪类和display属性控制显示隐藏。 HTML结构示例: <div class…

css sprites制作

css sprites制作

CSS Sprites 制作方法 CSS Sprites 是一种将多个小图标或图片合并成一张大图的技术,通过减少 HTTP 请求提升网页加载性能。 准备工作 需要将多个小图标或图片合并为一张大图,可…