当前位置:首页 > CSS

css制作动态摇晃

2026-04-02 02:37:56CSS

使用 CSS 动画实现摇晃效果

通过 @keyframes 定义动画关键帧,结合 transform 属性实现左右摇晃效果。以下代码示例展示了一个简单的摇晃动画:

.shake {
  animation: shake 0.5s ease-in-out infinite;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-5px); }
  40% { transform: translateX(5px); }
  60% { transform: translateX(-5px); }
  80% { transform: translateX(5px); }
}

调整摇晃幅度和频率

修改 translateX 的像素值和动画持续时间可以改变摇晃的幅度和速度:

.vigorous-shake {
  animation: vigorousShake 0.3s linear infinite;
}

@keyframes vigorousShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-10px); }
  50% { transform: translateX(10px); }
  75% { transform: translateX(-10px); }
}

添加旋转效果增强动态感

结合 rotate 属性可以让摇晃效果更生动:

.rotate-shake {
  animation: rotateShake 0.8s ease infinite;
}

@keyframes rotateShake {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
  75% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

使用 CSS 变量控制参数

通过 CSS 变量实现参数化控制,方便调整效果:

:root {
  --shake-intensity: 8px;
  --shake-duration: 0.4s;
}

.custom-shake {
  animation: customShake var(--shake-duration) infinite;
}

@keyframes customShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(calc(-1 * var(--shake-intensity))); }
  40%, 80% { transform: translateX(var(--shake-intensity)); }
}

实现悬停触发摇晃

通过 :hover 伪类实现鼠标悬停时触发动画:

css制作动态摇晃

.hover-shake {
  transition: transform 0.3s ease;
}

.hover-shake:hover {
  animation: shake 0.5s ease-in-out;
}

标签: 动态css
分享给朋友:

相关文章

css 制作购物网站

css 制作购物网站

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

css制作三角形

css制作三角形

使用边框制作三角形 通过设置元素的宽度和高度为0,并利用边框属性,可以创建不同方向的三角形。例如,要创建一个向下的三角形: .triangle-down { width: 0; height…

css制作表格

css制作表格

CSS 制作表格的方法 使用 CSS 可以灵活地创建和样式化表格,以下是几种常见的方法: 使用 HTML 表格标签结合 CSS 样式 通过 HTML 的 <table>、<tr&g…

css按钮制作

css按钮制作

CSS按钮制作方法 基础按钮样式 创建一个简单的CSS按钮需要定义基本属性,如背景色、边框、内边距和文字样式。示例代码: .btn { background-color: #4CAF50;…

css 导航栏制作

css 导航栏制作

CSS 导航栏制作方法 水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { back…

css二级菜单制作

css二级菜单制作

使用纯CSS制作二级菜单 HTML结构采用嵌套的<ul>和<li>标签,主菜单项包含子菜单: <nav class="menu"> <ul>…