当前位置: 首页 > news >正文

vue3实现卡片翻牌

vue3实现塔罗牌翻牌

  • 前言
  • 一、操作步骤
    • 1.布局
    • 2.操作
    • 3.样式
  • 总结

前言

最近重刷诡秘之主,感觉里面的塔罗牌挺有意思,于是做了一个简单的塔罗牌翻牌动画(vue3+vite+ts)

一、操作步骤

1.布局

首先我们定义一个整体的塔罗牌盒子,在盒子里放入多张塔罗牌,每张塔罗牌是由背面牌和正面牌组成,我们分别赋予类名front,back;
在单张塔罗牌中我们除了默认的tarotItem样式外,添加了一个动态样式open用于实现切换牌面。

<template><div class="tarotBox"><div class="tarotItem" v-for="item in tarot" @click="changeTarot(item)":class="item.value?'open':''"><img class="back" src="../front.jpg"><img class="front" src="../0.jpg"></div></div>
</template>

2.操作

我们定义一个塔罗牌数据数组,通过其中的属性value对动态类进行控制;再编写一个函数changeTarot用于改变类open的添加和删除

<script setup lang="ts">
import {ref} from "vue";//塔罗牌数据数组
const tarot = ref([{name: '1',value: false
}]);//牌面进行切换
const changeTarot= (item: any) => {item.value = !item.value
}</script>

3.样式

塔罗牌默认样式是背面在上,因此设置正面牌角度为180,背面牌角度为0,同时为两张牌设置过渡样式和过渡属性

//塔罗牌样式
img {width:110px;height: 200px;position: absolute;//确保牌在同一位置transform-style: preserve-3d;//过渡样式,3dtransition: 1s transform;//过渡时间backface-visibility: hidden;//旋转到180度自动隐藏
}
//正面牌角度
.front {transform: rotateY(180deg);
}//背面牌角度
.back {transform: rotateY(0deg);
}
</style>

当点击塔罗牌时,对应位置的塔罗牌样式发生变化,也就是下面我们所添加的样式类open

//翻牌样式.open {//正面牌角度.front {transform: rotateY(0deg);}//背面牌角度.back {transform: rotateY(180deg);}}

总结

源代码下载地址

http://www.lryc.cn/news/166013.html

相关文章:

  • 算法训练营day45|动态规划 part07:完全背包 (LeetCode 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数)
  • 【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建
  • ElasticSearch系列-简介与安装详解
  • Layui + Flask | 表单组件(组件篇)(07)
  • 【实践篇】Redis最强Java客户端Redisson
  • esxi扩容磁盘
  • 核心实验21_BGP高级(了解)(配置略)_ENSP
  • 宝塔安装python和openssl
  • TDengine 3.1.1.0 来啦!更新如下
  • YSA Toon (Anime/Toon Shader)
  • LabVIEW通过IEC61508标准验证ITER联锁系统
  • 如何处理日期和时间?
  • 【开发】视频集中存储/直播点播平台EasyDSS点播文件分类功能优化
  • 论文多级编号-word2010
  • Jetpack Compose基础组件之 — Text
  • 动手学深度学习——Windows下的环境安装流程(一步一步安装,图文并配)
  • 打印日志遇到的问题,logback与zookeeper冲突
  • 【Node.js操作SQLite指南】
  • PyTorch之张量的相关操作大全 ->(个人学习记录笔记)
  • ChatGPT生成内容很难脱离标准化,不建议用来写留学文书
  • sqlserver @@ROWCOUNT的使用
  • Hbase批量删除数据
  • 飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要
  • 力扣 -- 1218. 最长定差子序列
  • 【程序员装机】在右键菜单中添加Notepad++选项
  • Scrapy的基本介绍、安装及工作流程
  • CMS 三色标记【JVM调优】
  • 使用 CSS 伪类的attr() 展示 tooltip
  • 在命令窗口便捷快速复制输出结果到剪贴板
  • CUDA小白 - NPP(8) 图像处理 Morphological Operations