当前位置:首页 > 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;
  }
}

高级版本(带支架)

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

<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制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0;…

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

怎么制作css

怎么制作css

创建CSS文件 新建一个文本文件,将文件扩展名改为.css。例如styles.css。确保文件名简洁且能反映其用途。 编写CSS基础结构 CSS由选择器和声明块组成。选择器用于指定要样式化的HTM…

css菜单制作

css菜单制作

基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&g…

css样式制作

css样式制作

CSS 样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过选择器和属性组合,可以精确调整元素的布局、颜色、字体等样式。 选择器类型 元素选择器:p { color: red; } 选中…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div c…