当前位置:首页 > CSS

css制作开门动画

2026-03-12 14:19:37CSS

CSS 制作开门动画

使用 CSS 的 transformtransition 属性可以轻松实现开门动画效果。以下是两种常见的实现方式:

水平开门效果

通过旋转元素模拟门的开启动作:

css制作开门动画

<div class="door-container">
  <div class="door"></div>
</div>
.door-container {
  perspective: 1000px;
  width: 200px;
  height: 300px;
  margin: 50px auto;
}

.door {
  width: 100%;
  height: 100%;
  background-color: #8B4513;
  transform-origin: left center;
  transition: transform 1s ease-in-out;
}

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

垂直开门效果

类似百叶窗的上下开启效果:

.door {
  width: 100%;
  height: 100%;
  background-color: #8B4513;
  transform-origin: top center;
  transition: transform 1s ease-in-out;
}

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

双开门效果

创建对称的两个门扇:

css制作开门动画

<div class="double-door">
  <div class="left-door"></div>
  <div class="right-door"></div>
</div>
.double-door {
  display: flex;
  width: 400px;
  height: 300px;
  margin: 50px auto;
  perspective: 1000px;
}

.left-door, .right-door {
  width: 50%;
  height: 100%;
  background-color: #A0522D;
  transition: transform 1s;
}

.left-door {
  transform-origin: left center;
}

.right-door {
  transform-origin: right center;
}

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

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

添加3D深度效果

增强立体感:

.door {
  /* 其他样式 */
  box-shadow: 5px 0 15px rgba(0,0,0,0.3);
  border-right: 2px solid #5D2906;
}

控制动画触发方式

可以使用 JavaScript 控制而非 hover:

document.querySelector('.door').addEventListener('click', function() {
  this.classList.toggle('open');
});
.door.open {
  transform: rotateY(-90deg);
}

这些方法可以组合使用,通过调整过渡时间、旋转角度和变换原点,能创造出各种不同的开门动画效果。

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

相关文章

css制作教程

css制作教程

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

css制作时钟

css制作时钟

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

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…

css制作半圆

css制作半圆

使用 border-radius 制作半圆 通过设置 border-radius 属性,可以将矩形的边角弯曲成圆弧形状。制作半圆的关键是将宽度和高度设置为 2:1 的比例,并只对两个角应用圆角。 .…

css制作滑动切换

css制作滑动切换

使用CSS实现滑动切换效果 方法一:使用CSS Transition和Transform 通过transition和transform属性实现平滑的滑动动画效果。 .slider-container…

旋转相册制作css

旋转相册制作css

旋转相册制作CSS 旋转相册通常通过CSS动画和3D变换实现,以下是一个完整的实现方法: 基础HTML结构 <div class="photo-album"> <div cla…