当前位置:首页 > VUE

vue实现抖动样式

2026-02-17 16:06:13VUE

实现抖动效果的CSS方法

在Vue中实现抖动效果,可以通过CSS动画或关键帧来实现。定义一个抖动动画的关键帧:

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

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

Vue组件中使用抖动样式

在Vue模板中,通过动态绑定class来触发抖动效果:

vue实现抖动样式

<template>
  <button 
    @click="shakeIt"
    :class="{ shake: isShaking }"
  >
    点击抖动
  </button>
</template>

<script>
export default {
  data() {
    return {
      isShaking: false
    }
  },
  methods: {
    shakeIt() {
      this.isShaking = true
      setTimeout(() => {
        this.isShaking = false
      }, 500)
    }
  }
}
</script>

使用第三方库实现高级抖动

安装vue-shake库可以快速实现更复杂的抖动效果:

vue实现抖动样式

npm install vue-shake

在组件中使用:

<template>
  <shake>
    <div>这个元素会持续抖动</div>
  </shake>
</template>

<script>
import { Shake } from 'vue-shake'

export default {
  components: {
    Shake
  }
}
</script>

自定义抖动参数

通过CSS变量可以自定义抖动幅度和持续时间:

.shake-custom {
  --shake-intensity: 8px;
  --shake-duration: 0.8s;
  animation: shake var(--shake-duration) ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(calc(-1 * var(--shake-intensity))); }
  75% { transform: translateX(var(--shake-intensity)); }
}

标签: 样式vue
分享给朋友:

相关文章

vue 实现滚动

vue 实现滚动

实现滚动的基本方法 在Vue中实现滚动效果可以通过多种方式完成,包括使用原生JavaScript、CSS或第三方库。以下是一些常见的方法: 使用window.scrollTo方法实现页面滚动 可以通…

vue实现异步

vue实现异步

Vue 实现异步操作的常见方法 Vue 提供了多种方式来处理异步操作,包括数据获取、事件处理等场景。 使用 async/await 在 Vue 方法中可以直接使用 async/await 语法处理异…

vue实现翻译

vue实现翻译

Vue 实现翻译功能的方法 使用 i18n 插件实现多语言切换 安装 vue-i18n 插件: npm install vue-i18n 创建语言资源文件(如 en.json 和 zh.json):…

vue实现动画

vue实现动画

Vue 实现动画的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及直接操作 CSS 或 JavaScript 动画。 使用 Vue 内置过渡系统 Vue 的 <…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…

vue实现翻页

vue实现翻页

Vue实现翻页功能 在Vue中实现翻页功能通常需要结合分页组件和数据请求逻辑。以下是常见的实现方法: 使用Element UI分页组件 安装Element UI后,可以直接使用其分页组件: <…