当前位置:首页 > CSS

css钟摆制作

2026-01-28 04:07:49CSS

CSS钟摆制作方法

使用CSS动画和transform属性可以创建简单的钟摆效果。以下是实现步骤:

HTML结构

<div class="pendulum">
  <div class="string"></div>
  <div class="weight"></div>
</div>

CSS样式

.pendulum {
  position: relative;
  width: 200px;
  height: 300px;
  margin: 50px auto;
}

.string {
  position: absolute;
  width: 2px;
  height: 200px;
  background: #333;
  left: 50%;
  transform-origin: top center;
  animation: swing 2s infinite ease-in-out alternate;
}

.weight {
  position: absolute;
  width: 40px;
  height: 40px;
  background: #e74c3c;
  border-radius: 50%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes swing {
  0% {
    transform: rotate(-30deg);
  }
  100% {
    transform: rotate(30deg);
  }
}

优化钟摆效果

要使钟摆运动更自然,可以调整动画时间函数和角度:

@keyframes swing {
  0%, 100% {
    transform: rotate(-20deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: rotate(20deg);
    animation-timing-function: ease-in;
  }
}

添加物理效果

模拟真实钟摆的重力加速度效果:

.string {
  animation: swing 1.5s infinite alternate;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

响应式调整

通过媒体查询使钟摆适应不同屏幕尺寸:

@media (max-width: 600px) {
  .pendulum {
    height: 200px;
  }
  .string {
    height: 150px;
  }
}

高级版本(带支架)

添加钟摆支架的完整版本:

css钟摆制作

<div class="pendulum-container">
  <div class="stand"></div>
  <div class="pendulum">
    <div class="string"></div>
    <div class="weight"></div>
  </div>
</div>
.pendulum-container {
  position: relative;
  width: 200px;
  height: 350px;
  margin: 0 auto;
}

.stand {
  width: 100px;
  height: 20px;
  background: #333;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

标签: 钟摆css
分享给朋友:

相关文章

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { widt…

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templa…

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…

css如何制作六边形

css如何制作六边形

使用CSS制作六边形 六边形可以通过CSS的clip-path属性或伪元素结合旋转和定位来实现。以下是两种常见方法: 方法一:使用clip-path属性 clip-path允许直接裁剪元素为六边形形…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…

制作外置css

制作外置css

创建外置CSS文件 新建一个文本文件,将其命名为style.css。确保文件扩展名为.css,而不是.txt。使用代码编辑器(如VS Code、Sublime Text等)打开该文件进行编辑。 /*…