当前位置:首页 > VUE

vue实现表白

2026-01-12 21:21:06VUE

Vue实现表白页面

使用Vue可以创建一个动态、交互式的表白页面。以下是实现方法:

创建Vue项目 使用Vue CLI创建新项目:

vue create love-page
cd love-page

页面结构设计 在App.vue中构建基本结构:

<template>
  <div id="app">
    <div class="heart" @click="showMessage"></div>
    <div v-if="show" class="message">
      <h1>{{ message }}</h1>
      <button @click="changeHeart">❤️</button>
    </div>
  </div>
</template>

添加交互逻辑

<script>
export default {
  data() {
    return {
      show: false,
      message: '我喜欢你!',
      heartColor: 'red'
    }
  },
  methods: {
    showMessage() {
      this.show = true
    },
    changeHeart() {
      this.heartColor = this.heartColor === 'red' ? 'pink' : 'red'
    }
  }
}
</script>

样式设计

<style>
.heart {
  width: 100px;
  height: 100px;
  background-color: v-bind(heartColor);
  transform: rotate(45deg);
  margin: 100px auto;
  cursor: pointer;
  position: relative;
}

.heart:before, .heart:after {
  content: '';
  width: 100px;
  height: 100px;
  background-color: v-bind(heartColor);
  border-radius: 50%;
  position: absolute;
}

.heart:before {
  top: -50px;
  left: 0;
}

.heart:after {
  top: 0;
  left: -50px;
}

.message {
  text-align: center;
  animation: fadeIn 2s;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
</style>

进阶效果实现

添加动画效果 安装animate.css库:

vue实现表白

npm install animate.css

在main.js中引入:

import 'animate.css'

使用动画类名:

<h1 class="animate__animated animate__bounceIn">{{ message }}</h1>

添加背景音乐

<audio autoplay loop>
  <source src="./assets/love.mp3" type="audio/mpeg">
</audio>

添加照片墙

vue实现表白

<div class="photo-wall">
  <img 
    v-for="(photo, index) in photos" 
    :key="index" 
    :src="photo" 
    @click="enlargePhoto(index)"
    class="photo"
  >
</div>

部署上线

构建项目

npm run build

部署到GitHub Pages 安装gh-pages:

npm install gh-pages --save-dev

在package.json中添加:

"scripts": {
  "deploy": "gh-pages -d dist"
}

运行部署命令:

npm run deploy

以上方法结合了Vue的响应式特性和CSS动画效果,可以创建出富有情感表达的表白页面。根据实际需求可以进一步添加更多个性化元素和交互功能。

标签: vue
分享给朋友:

相关文章

vue实现anchor

vue实现anchor

Vue 实现 Anchor(锚点)功能 在 Vue 中实现锚点功能可以通过多种方式完成,以下是几种常见的方法: 使用 HTML 原生锚点 HTML 原生锚点是最简单的方式,通过 <a>…

vue实现选择分类

vue实现选择分类

Vue 实现选择分类的方法 使用 v-model 绑定选择值 在 Vue 中可以通过 v-model 指令实现双向数据绑定,适用于下拉选择框(<select>)。以下是一个基本示例: &…

vue实现菜单调用

vue实现菜单调用

Vue 实现动态菜单的常见方法 基于路由配置生成菜单 Vue Router 的路由配置可以天然转化为菜单结构,适合权限与路由绑定的系统: // router/index.js const route…

vue实现简单的弹窗

vue实现简单的弹窗

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

vue实现走势图

vue实现走势图

Vue 实现走势图的方法 使用 ECharts 库 ECharts 是一个强大的数据可视化库,支持多种图表类型,包括走势图(折线图)。在 Vue 项目中可以通过 vue-echarts 封装库或直接使…

vue实现多用户登录

vue实现多用户登录

实现多用户登录的基本思路 在Vue中实现多用户登录通常需要结合后端API完成身份验证,并通过前端路由、状态管理(如Vuex或Pinia)和本地存储(如localStorage)来管理用户会话。以下是关…