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

vue模拟扑克效果

vue模拟扑克效果

效果图:
在这里插入图片描述

step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue

<template>
  <div class="poker-container">
    <!-- 使用复合数据对象实现双行显示 -->
    <div
      v-for="(card, index) in POKER_CARDS"
      :key="index"
      class="poker-card"
      :class="[cardColors(card.suit), { 'joker-card': card.type === 'JOKER' }]"
    >
     <template v-if="card.type === 'JOKER'">
        <!-- 修改后的JOKER结构 -->
        <div class="card-top">{{ card.size === 'little' ? '🦈' : '🐬' }}</div>
        <div class="card-center" :class="card.size === 'big' ? 'red-text' : 'gray-text'">JOKER</div>
        <div class="card-bottom">{{ card.size === 'little' ? '🦈' : '🐬' }}</div>
      </template>
      <template v-else>
        <div class="card-top">{{ card.suit }}</div>
        <div class="card-center">{{ card.number }}</div>
        <div class="card-bottom">{{ card.suit }}</div>
      </template>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      POKER_CARDS: [
        { type: 'JOKER', size: 'big' },    // 大王
        { type: 'JOKER', size: 'little' }, // 新增的小王
        { suit: '♠', number: '2' },
        { suit: '♣', number: '2' },
        { suit: '♥', number: 'A' },
        { suit: '♦', number: 'A' },
        { suit: '♠', number: 'A' },
        { suit: '♥', number: 'K' },
        { suit: '♣', number: 'K' },
        { suit: '♠', number: 'K' },
        { suit: '♦', number: '10' },
        { suit: '♠', number: '10' },
        { suit: '♥', number: '8' },
        { suit: '♦', number: '8' },
        { suit: '♥', number: '8' },
        { suit: '♠', number: '8' },
        { suit: '♦', number: '4' }
      ]
    }
  },
  methods: {
    cardColors(suit) {
      return {
        'black-text': ['♠', '♣'].includes(suit),
        'red-text': ['♥', '♦'].includes(suit)
      }
    }
  }
}
</script>

<style>
.poker-container {
  display: flex;
  gap: 12px;
  padding: 20px;
  background: white;
  flex-wrap: wrap;
  justify-content: center;
}

.poker-card {
  width: 80px;
  height: 120px;
  border: 1px solid #ddd;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.black-text { color: #333; }
.red-text { color: #c00; }


.card-top, .card-bottom {
  font-size: 1.2em;
  transform: scaleY(0.8);
}

.card-center {
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
}

.card-bottom {
  transform: rotate(180deg);
}
/* 新增灰色文本样式 */
.gray-text { color: #666; }

/* 保持JOKER文字与普通卡片一致 */
.joker-card .card-center {
  font-size:22px;
  font-weight: bold;
  text-align: center;
  /* 通过缩放保持原有布局效果 */
  transform: scaleY(0.8);
}


</style>

end


文章转载自:

http://N56Q0yVY.srrzb.cn
http://UBiJMnTy.srrzb.cn
http://jXey8dF0.srrzb.cn
http://CWvNyJYj.srrzb.cn
http://qUqL4UE1.srrzb.cn
http://EOQwmUaa.srrzb.cn
http://gBFWHgCr.srrzb.cn
http://ApAYue9V.srrzb.cn
http://dB38cvRh.srrzb.cn
http://UJ0t9zSC.srrzb.cn
http://bXnDEmlO.srrzb.cn
http://5Mq8Yt4n.srrzb.cn
http://9cSqpR5s.srrzb.cn
http://b36HWknr.srrzb.cn
http://PDLg8m3n.srrzb.cn
http://yKQYeGwY.srrzb.cn
http://oYRi5hwz.srrzb.cn
http://9qYfnidI.srrzb.cn
http://5wI9GcrR.srrzb.cn
http://QJpSTgAG.srrzb.cn
http://oRcXrU7h.srrzb.cn
http://hsHOiVPY.srrzb.cn
http://9mg841Q6.srrzb.cn
http://PXlHRMNS.srrzb.cn
http://qIMhv48q.srrzb.cn
http://Fbsx7Tqx.srrzb.cn
http://v3fRlY1V.srrzb.cn
http://EnjyPjcW.srrzb.cn
http://eypIisWr.srrzb.cn
http://68wmB27M.srrzb.cn
http://www.dtcms.com/a/128615.html

相关文章:

  • AdamW 是 Adam 优化算法的改进版本; warmup_steps:学习率热身的步数
  • Python中NumPy的索引和切片
  • vue 前端遇到问题 样式不展示
  • 常见MQ及类MQ对比:Redis Stream、Redis Pub/Sub、RocketMQ、Kafka 和 RabbitMQ
  • redis大key排查指南
  • Redis 主从复制+哨兵模式+集群部署(含节点扩容)
  • IDEA202403 常用设置【持续更新】
  • 电梯广告江湖的终局:分众 “吃掉” 新潮,是救赎还是迷途?
  • mac 解压 nsz 文件
  • Agent2Agent (A2A)
  • 激光雷达点云动态目标剔除算法
  • 【提示词】001-命令行大师
  • php伪协议
  • Springboot项目正常启动,访问资源却出现404错误如何解决?
  • 基于疾风大模型的新能源电力交易决策系统:方法、实现与案例分析
  • Docker日志查看与资源监控指令全解:从基础到高阶运维实践
  • python【标准库】multiprocessing
  • Centos7.9 升级内核,安装RTX5880驱动
  • 【2】k8s集群管理系列--包应用管理器之helm(Chart语法深入应用)
  • 149页研读——华为基于IPD全过程研发质量管理【附全文阅读】
  • Echarts基础入门
  • web自动化测试
  • .net Core 和 .net freamwork 调用 deepseek api 使用流输出文本(对话补全)
  • 如何在多线程中安全地使用 PyAudio
  • Python中字符串分隔与连接函数
  • 客户端负载均衡与服务器端负载均衡详解
  • qt pyqt5的开发, 修改psd图像
  • Python(11)Python判断语句全面解析:从基础到高级模式匹配
  • simpy仿真
  • 基于51单片机的温度报警器proteus仿真