当前位置:首页 > CSS

css钟摆制作

2026-02-12 22:32:20CSS

CSS钟摆制作方法

使用CSS动画和关键帧可以实现钟摆效果,以下是具体实现步骤:

HTML结构

css钟摆制作

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

CSS样式

.pendulum {
  position: relative;
  width: 2px;
  height: 200px;
  margin: 0 auto;
  transform-origin: top center;
  animation: swing 2s infinite alternate ease-in-out;
}

.string {
  width: 2px;
  height: 150px;
  background: #333;
  margin: 0 auto;
}

.ball {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ff5722;
  position: absolute;
  bottom: 0;
  left: -14px;
}

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

优化钟摆效果

为了让钟摆运动更自然,可以调整动画时间和缓动函数:

css钟摆制作

animation: swing 1.5s infinite alternate cubic-bezier(0.37, 0, 0.63, 1);

添加物理效果

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

@keyframes swing {
  0%, 100% {
    transform: rotate(20deg);
    animation-timing-function: cubic-bezier(0.5, 0.05, 0.8, 0.5);
  }
  50% {
    transform: rotate(-20deg);
    animation-timing-function: cubic-bezier(0.2, 0.5, 0.5, 1);
  }
}

多钟摆组合

创建多个同步摆动的钟摆:

.pendulum:nth-child(1) {
  animation-delay: 0s;
}
.pendulum:nth-child(2) {
  animation-delay: 0.2s;
}
.pendulum:nth-child(3) {
  animation-delay: 0.4s;
}

这些方法可以创建出不同风格的CSS钟摆效果,通过调整参数可以获得不同的摆动速度和幅度。

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

相关文章

css页脚制作

css页脚制作

CSS页脚制作方法 固定定位页脚 使用position: fixed将页脚固定在页面底部,适用于需要始终显示的页脚。 footer { position: fixed; bottom: 0;…

css制作半圆

css制作半圆

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

网页制作教程css

网页制作教程css

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。通过将样式与 HTML 结构分离,提升代码可维护性。 CSS 引入方式 内联样式:直接在 HTML 标签中使…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

咖啡店css制作

咖啡店css制作

咖啡店网页CSS设计要点 布局与配色 咖啡店网页通常采用温暖自然的配色方案,如棕色、米色、浅绿色等大地色系。主色调可选择咖啡色(#6F4E37)作为品牌色,搭配奶油色(#FFF8E8)作为背景。使用C…

怎么用css制作网页

怎么用css制作网页

使用CSS制作网页的基本方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是一些基本步骤和方法: 创建CSS文件 新建一个后缀为.css的文件,例如style.css。在HTML文件中通过&l…