当前位置:首页 > VUE

vue实现盖章

2026-03-07 01:45:11VUE

Vue 实现盖章效果

在 Vue 中实现盖章效果可以通过 CSS 动画和动态组件结合实现。以下是具体实现方法:

vue实现盖章

使用 CSS 动画和动态组件

创建印章组件,通过 CSS 定义印章的样式和动画效果:

vue实现盖章

<template>
  <div class="stamp" :style="{ left: position.x + 'px', top: position.y + 'px' }">
    {{ text }}
  </div>
</template>

<script>
export default {
  props: {
    text: String,
    position: Object
  }
}
</script>

<style>
.stamp {
  position: absolute;
  padding: 10px 20px;
  color: red;
  border: 3px solid red;
  border-radius: 5px;
  font-weight: bold;
  transform: rotate(-15deg);
  opacity: 0;
  animation: stamp 0.5s ease-out forwards;
}

@keyframes stamp {
  0% {
    transform: scale(3) rotate(-15deg);
    opacity: 0;
  }
  100% {
    transform: scale(1) rotate(-15deg);
    opacity: 0.8;
  }
}
</style>

在父组件中使用

在需要盖章的页面中动态添加印章组件:

<template>
  <div class="document" @click="addStamp">
    <Stamp v-for="(stamp, index) in stamps" :key="index" :text="stamp.text" :position="stamp.position" />
    <!-- 文档内容 -->
  </div>
</template>

<script>
import Stamp from './Stamp.vue'

export default {
  components: { Stamp },
  data() {
    return {
      stamps: []
    }
  },
  methods: {
    addStamp(event) {
      this.stamps.push({
        text: '已审核',
        position: { x: event.clientX, y: event.clientY }
      })
    }
  }
}
</script>

<style>
.document {
  position: relative;
  min-height: 100vh;
  cursor: pointer;
}
</style>

使用 SVG 实现更复杂印章

如果需要更复杂的印章效果,可以使用 SVG:

<template>
  <svg class="stamp" :style="{ left: position.x + 'px', top: position.y + 'px' }" viewBox="0 0 200 200">
    <circle cx="100" cy="100" r="90" fill="none" stroke="red" stroke-width="5"/>
    <text x="100" y="100" text-anchor="middle" fill="red" font-size="24" font-weight="bold">{{ text }}</text>
  </svg>
</template>

注意事项

  • 确保印章组件有正确的定位上下文(父元素需要设置 position: relative)
  • 调整动画时间和效果以获得最佳视觉体验
  • 可以扩展组件支持不同印章样式和颜色
  • 考虑添加点击事件阻止冒泡,避免与文档其他交互冲突

以上方法可以实现基本的盖章效果,可以根据实际需求调整样式和交互方式。

标签: vue
分享给朋友:

相关文章

vue实现绑卡的原理

vue实现绑卡的原理

Vue 实现绑卡的原理 Vue 实现绑卡功能通常涉及前端表单处理、数据绑定、验证以及和后端 API 的交互。以下是实现绑卡功能的核心原理和步骤: 数据绑定与表单处理 Vue 通过 v-model 指…

vue实现autocomplete

vue实现autocomplete

Vue 实现 Autocomplete 功能 Vue 中实现 Autocomplete(自动完成)功能可以通过自定义组件或使用现有库完成。以下是几种常见方法: 方法一:使用 Vue 原生实现 创建…

vue怎么实现

vue怎么实现

Vue 实现方法 Vue 是一个流行的前端框架,用于构建用户界面。以下是几种常见的实现方法: 数据绑定 使用 v-model 指令实现双向数据绑定,适用于表单输入元素。 <input v-m…

vue实现flbook

vue实现flbook

Vue 实现类似 Flbook 的翻页效果 要实现类似 Flbook 的翻页效果,可以使用 Vue 结合 CSS 动画和 JavaScript 事件处理。以下是实现方法: 安装依赖 需要安装 vue…

vue遮罩实现

vue遮罩实现

实现 Vue 遮罩的常见方法 使用 CSS 定位和透明度 创建一个全屏遮罩层,通过 CSS 固定定位覆盖整个视口,并设置半透明背景色。 <template> <div cl…

mvvm实现vue

mvvm实现vue

MVVM 模式在 Vue 中的实现 MVVM(Model-View-ViewModel)是一种前端架构模式,Vue 的设计灵感来源于此。以下是 MVVM 在 Vue 中的核心实现方式: 数据绑定(M…