当前位置: 首页 > 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/158528.html

相关文章:

  • 分布式搜索引擎
  • 【2023最新版】腾讯云CODING平台使用教程(Pycharm/命令:本地项目推送到CODING)
  • IDEA Properties 文件亂碼怎麼解決
  • uniapp微信小程序用户隐私保护
  • 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题
  • 16 | Spark SQL 的 UDF(用户自定义函数)
  • 蓝桥杯官网填空题(土地测量)
  • 【Java项目实战】牛客网论坛项目1 - Spring入门与初识SpringMVC
  • Gurobi使用(一)——操作指南(转自知乎)
  • 计算机网络的故事——简单的HTTP协议
  • 新能源商用车软件开发设计规范
  • Json“牵手”当当网商品详情数据方法,当当商品详情API接口,当当API申请指南
  • lazarus开发界面程序用线程显示进度条
  • 解决VSCode下载速度特别慢的问题
  • 国家矿山安全监察局关于露天矿山边坡监测系统建设及预警响应要求
  • 前端使用elementui开发后台管理系统的常用功能(持续更新)
  • 中东 Shopify 如何使用 Bytebase 构建一站式数据库开发工作流
  • 谷歌Chrome庆祝15周年,推出全新设计!了解最新信息!
  • 解决Oracle SQL语句性能问题——SQL语句改写(分析函数、with as、union及or)
  • Linux之SELinux
  • Acwing算法心得——街灯(差分)
  • streamlit执行报错WARNING,重新安装碰到问题如何解决
  • 《C++设计模式》——行为型
  • 什么是原生IP?原生IP与住宅IP有何区别?
  • element-plus 表格-自定义样式实现
  • MVCC
  • 你不知道的JavaScript---对象
  • C++项目实战——基于多设计模式下的同步异步日志系统-①-项目介绍
  • 解决Oracle数据库中日期格式不识别的问题
  • 一生一芯13——linux设置环境变量