当前位置:首页 > VUE

vue 实现边框闪烁

2026-02-17 04:54:16VUE

在 Vue 中实现边框闪烁效果可以通过 CSS 动画或 JavaScript 动态控制样式来实现。以下是几种常见方法:

使用 CSS 动画

通过 @keyframes 定义动画,结合 Vue 的 v-bind:class 动态切换样式类。

<template>
  <div :class="{ 'blinking-border': isBlinking }">内容</div>
</template>

<style>
.blinking-border {
  border: 2px solid transparent;
  animation: blink 1s infinite;
}

@keyframes blink {
  0% { border-color: transparent; }
  50% { border-color: #ff0000; }
  100% { border-color: transparent; }
}
</style>

<script>
export default {
  data() {
    return {
      isBlinking: true
    };
  }
};
</script>

动态绑定内联样式

通过 Vue 的 v-bind:style 动态修改边框颜色,结合 setInterval 控制闪烁频率。

<template>
  <div :style="{ border: `2px solid ${borderColor}` }">内容</div>
</template>

<script>
export default {
  data() {
    return {
      borderColor: 'transparent',
      intervalId: null
    };
  },
  mounted() {
    this.intervalId = setInterval(() => {
      this.borderColor = this.borderColor === 'transparent' ? '#ff0000' : 'transparent';
    }, 500);
  },
  beforeDestroy() {
    clearInterval(this.intervalId);
  }
};
</script>

结合 CSS 变量

利用 CSS 变量和 Vue 响应式数据实现更灵活的控制。

<template>
  <div class="border-box" :style="{'--border-color': borderColor}">内容</div>
</template>

<style>
.border-box {
  border: 2px solid var(--border-color);
  transition: border-color 0.5s ease;
}
</style>

<script>
export default {
  data() {
    return {
      borderColor: 'transparent'
    };
  },
  mounted() {
    setInterval(() => {
      this.borderColor = this.borderColor === 'transparent' ? '#ff0000' : 'transparent';
    }, 500);
  }
};
</script>

使用第三方动画库

若项目已引入如 animate.css,可直接复用预定义动画。

vue 实现边框闪烁

<template>
  <div class="animate__animated animate__flash animate__infinite">内容</div>
</template>

<script>
import 'animate.css';
export default {};
</script>

以上方法均可实现边框闪烁效果,CSS 动画性能更优,而 JavaScript 动态控制更适合需要复杂逻辑的场景。

标签: 边框vue
分享给朋友:

相关文章

vue实现jqueryui

vue实现jqueryui

Vue 实现 jQuery UI 功能 在 Vue 项目中实现类似 jQuery UI 的功能,可以通过原生 Vue 组件或第三方库来实现。以下是几种常见 jQuery UI 功能的 Vue 替代方案…

vue router 实现

vue router 实现

Vue Router 的实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的核心实现方式。 安装 Vue Router 通过…

vue实现翻译

vue实现翻译

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

vue computed实现

vue computed实现

计算属性的基本用法 在Vue中,计算属性通过computed选项定义,用于声明依赖于其他属性的动态值。计算属性基于它们的依赖进行缓存,只有依赖发生变化时才会重新计算。 new Vue({ dat…

vue 实现后退

vue 实现后退

实现后退功能的方法 在Vue中实现后退功能通常需要结合浏览器历史记录API或Vue Router的导航方法。以下是几种常见的实现方式: 使用Vue Router的go方法 this.$router…

vue mvvm 实现

vue mvvm 实现

Vue MVVM 实现原理 Vue.js 的 MVVM(Model-View-ViewModel)架构通过数据绑定和响应式系统实现视图与数据的自动同步。以下是其核心实现机制: 数据劫持与响应式系统…