当前位置:首页 > 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来触发抖动效果:

<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库可以快速实现更复杂的抖动效果:

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实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="mod…

vue实现分屏

vue实现分屏

Vue 实现分屏的方法 分屏功能通常用于展示多个独立内容区域,以下是几种常见的实现方式: 使用 CSS Grid 布局 通过 CSS Grid 可以轻松创建分屏布局,在 Vue 组件中直接应用样式:…

vue 实现豆瓣

vue 实现豆瓣

以下是基于 Vue 实现豆瓣电影类功能的实现方案,涵盖核心模块和技术要点: 数据获取与 API 调用 使用豆瓣开放 API(需注意调用频率限制)或第三方代理接口 推荐 axios 进行异步请求,配合…

computed vue 实现

computed vue 实现

computed 在 Vue 中的基本用法 Vue 的 computed 属性用于声明依赖于其他数据的计算属性。当依赖的数据变化时,计算属性会自动重新计算并缓存结果。 export defau…

vue实现素材

vue实现素材

Vue 实现素材的方法 使用 Vue 组件管理素材 在 Vue 项目中,可以通过组件化的方式管理素材。创建一个专门的组件来加载和显示素材,例如图片、视频或音频文件。组件可以接收素材的路径或 URL 作…

vue实现fullpage

vue实现fullpage

Vue 实现 FullPage 效果 在 Vue 中实现全屏滚动(FullPage)效果可以通过多种方式完成,以下是几种常见的方法: 使用现有库 vue-fullpage.js 安装 vue-fu…