当前位置:首页 > CSS

css钟摆制作

2026-02-27 07:07:07CSS

CSS钟摆制作方法

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

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: #ff5722;
  border-radius: 50%;
  bottom: 0;
  left: 50%;
  margin-left: -20px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

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

进阶优化技巧

增加物理感更强的钟摆效果可以通过调整动画曲线:

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

添加悬挂点装饰:

.pendulum::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background: #333;
  border-radius: 50%;
  top: 0;
  left: 50%;
  margin-left: -10px;
}

响应式调整

使钟摆大小适应不同屏幕:

@media (max-width: 600px) {
  .pendulum {
    transform: scale(0.7);
  }
}

通过调整@keyframes中的角度值和动画持续时间,可以改变钟摆摆动的幅度和速度。增加transform-origin属性确保绳子从顶部中心点正确摆动。

css钟摆制作

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

相关文章

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table&…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-n…

css样式表制作

css样式表制作

CSS样式表制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式属性。 内联样式 直接在HTML标签中使用style属性定义样式: <p sty…

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

css制作炫酷按钮

css制作炫酷按钮

渐变背景按钮 使用CSS的linear-gradient属性创建渐变背景效果,结合阴影和过渡动画增强视觉冲击力。按钮悬停时通过改变渐变角度或颜色实现动态效果。 .gradient-btn {…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .contain…