当前位置:首页 > 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(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333; fo…

css简历制作

css简历制作

使用CSS制作简历的基本方法 选择简洁的布局结构,单列或双列布局适合大多数简历。使用display: flex或display: grid实现响应式设计,确保在不同设备上显示良好。 字体选择上,标题…

jquery 动画

jquery 动画

jQuery 动画基础 jQuery 提供了一系列动画方法,用于实现元素的动态效果,如淡入淡出、滑动、自定义动画等。 常用动画方法 fadeIn() / fadeOut(): 元素的淡入和…

css制作导航条

css制作导航条

导航条基础结构 使用HTML构建导航条的基本结构,通常包含一个<nav>标签和多个<a>标签作为导航链接。示例代码如下: <nav class="navbar">…

淘宝导航css制作

淘宝导航css制作

淘宝导航 CSS 制作方法 淘宝导航栏通常包含多个层级菜单、下拉框和响应式设计。以下是实现类似效果的 CSS 制作方法: 基础结构 导航栏通常使用 <nav> 或 <div>…

css精灵图制作

css精灵图制作

CSS精灵图制作方法 将多个小图标或背景图像合并到一张大图中,通过CSS的background-position属性定位显示特定部分,减少HTTP请求次数,提升页面加载性能。 准备素材 收集需要合并…