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

挑战用React封装100个组件【010】

Hello,大家好,今天我挑战的组件是这样的!
演示图片
今天这个组件是一个打卡成功,或者获得徽章后的组件。点击按钮后,会弹出礼花。项目中的勋章是我通过AI生成的,还是很厉害的哈!稍微抠图直接使用。最后面,我也会展示我的提示词,大家可以去试一试。
欢迎大家把项目拉下来使用哦!
项目地址: https://github.com/hismeyy/react-component-100
今天还是用到了canvas-confetti。它是一个可以喷射礼花的一个库,GitHub地址我放在了下方,地址中有它的使用教程呢!
canvas-confetti
如果大家有什么询问的,或者推荐做的组件,可以评论区,评论哦!
下面是代码展示

代码展示

SuccessCard.tsx
import confetti from "canvas-confetti";
import "./SuccessCard.css";
import medalPNG from "./medal.png";const SuccessCard = () => {// 触发烟花效果的函数const triggerConfetti = (event: React.MouseEvent<HTMLButtonElement>) => {const button = event.currentTarget;const rect = button.getBoundingClientRect();const x = (rect.left + rect.width / 2) / window.innerWidth;const y = rect.top / window.innerHeight;confetti({particleCount: 200,     angle: 90,              spread: 90,           origin: { x, y }, scalar: 1.5,            });};return (<div className="success-card"><div className="success-medal"><img src={medalPNG} alt="success-medal" /></div><div className="success-message"><h1>Congratulations</h1><p>You did a great job in the test!</p></div><div className="success-button"><button onClick={triggerConfetti}>Continue</button></div></div>);
};export default SuccessCard;
SuccessCard.css
.success-card {width: 450px;height: 500px;display: flex;align-items: center;background-color: #F5F5F5;border-radius: 10px;box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);flex-direction: column
}.success-card .success-medal {margin-top: 10px;width: 300px;height: 300px;overflow: hidden;
}.success-card .success-medal img {width: 100%;height: 100%;object-fit: cover;
}.success-card .success-message {margin-top: 20px;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;margin-top: 10px;
}.success-card .success-message h1 {all: unset;font-size: 36px;font-weight: bold;
}.success-card .success-message p {all: unset;margin-top: 15px;font-size: 16px;color: #7c7c7c;
}.success-card .success-button {margin-top: 20px;display: flex;justify-content: center;align-items: center;
}.success-card .success-button button {all: unset;padding: 15px 30px;border-radius: 25px;background-color: #5246CF;color: #fff;cursor: pointer;
}.success-card .success-button button:hover {background-color: #3f34b9;
}

使用

App.tsx
import './App.css'
import SuccessCard from './components/card/successCard01/SuccessCard';function App() {return (<SuccessCard />);
}export default App;

提示词

用于生成徽章,大家可以修改提示词,得到自己想要的一组徽章

这是一枚设计简洁的奖章图标,主体是黄色的八角形,中间有一颗白色的五角星,奖章下方有两条蓝色的飘带。
1. **设计风格**- 简洁设计- 卡通风格- 扁平设计
2. **形状和颜色**- 黄色八角形- 白色五角星- 蓝色飘带
3. **背景元素**- 纯色
4. **用途和氛围**- 奖励图标- 庆祝氛围
http://www.lryc.cn/news/498808.html

相关文章:

  • burp suite 5
  • 锐捷Web认证
  • 【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)
  • 每日速记10道MySQL面试题16
  • 云计算考试题
  • 无人机理论考试合格证书获取
  • AcWing 3496. 特殊年份
  • YOLOv8模型改进 第二十讲 添加三重注意力机制Triplet Attention 提升小目标/遮挡目标
  • Linux絮絮叨(三) Ubuntu桌面版添加中文拼音输入法
  • Ungoogled Chromium127编译指南 Windows篇 - 安装Visual Studio 2022(六)
  • Kubernetes(K8s)
  • 证明切平面过定点的曲面是锥面
  • python中数组怎么转换为字符串
  • Linux 查看运行了哪些服务
  • WPS EXCEL 使用 WPS宏编辑器 写32位十六进制数据转换为浮点小数的公式。
  • SpringMVC ——(1)
  • 嵌入式中防linux的通用MCU系统
  • Windows电脑伪关机(快速启动模式),怎么真关机
  • 远程修改ESXi 6.7管理IP地址
  • DICOM医学影象应用篇——多平面重建(MPR)在DICOM医学影像中的应用详解
  • chromedriver.exe编译
  • CVPR和其他2024顶会论文阅读(资源整理【1】)
  • 封闭式论文写作--全面掌握ChatGPT-4o的写作技能,掌握提示词使用技巧、文献检索与分析方法,帮助您选定研究方向,提炼学术论文题目
  • ThinkPad X250在 FreeBSD xfce4下小红点不能用、触摸板不能用以及键盘上下左右变成其它键
  • PowerShell install 一键部署postgres17
  • k8s的数据库etcd报 etcdserver: mvcc: database space exceeded的处理办法
  • MySQL——buffer poll
  • 使用GO--Swagger生成文档
  • Pac4j 学习笔记
  • 什么?RayLink远程控制软件支持企业IT应用!