3D个人简历网站 6.弹出框

3D个人简历网站 6.弹出框

在components下创建HomeInfo.jsx用于控制主页弹出框信息
在这里插入图片描述
输入rafce快速生成代码块

import React from 'react'const HomeInfo = () => {return (<div>HomeInfo</div>)
}export default HomeInfo

修改Home.jsx代码实现弹出简单效果

……return (// 创建一个 section 元素,宽度和高度占满整个屏幕,且采用相对定位<section className='w-full h-screen relative'><div className='absolute top-28 left-0 right-0 z-10 flex items-center justify-center'>{currentStage && <HomeInfo currentStage={currentStage} />}</div>{/* 创建 Three.js 渲染画布,宽度和高度占满整个屏幕,背景透明,并设置相机的近裁剪面和远裁剪面 */}<CanvasclassName='w-full h-screen bg-transparent'camera={{ near:0.1, far:1000 }}>
……

在这里插入图片描述

完善HomeInfo.jsx代码

// 从 react-router-dom 库中导入 Link 组件,用于创建导航链接
import { Link } from "react-router-dom";// 从 ../assets/icons 路径导入 arrow 图标
import { arrow } from "../assets/icons";/*** HomeInfo 组件,根据传入的 currentStage 状态渲染不同的信息内容。* @param {number} currentStage - 当前阶段的编号,用于决定渲染哪部分信息。* @returns {JSX.Element} 根据 currentStage 渲染对应的信息元素,若不符合任何条件则返回 null。*/
const HomeInfo = ({ currentStage }) => {// 当 currentStage 为 1 时,渲染自我介绍信息if (currentStage === 1)return (// 创建一个标题元素,设置响应式字体大小、居中对齐、背景样式等<h1 className='sm:text-xl sm:leading-snug text-center neo-brutalism-blue py-4 px-8 text-white mx-5'>嗨!我是{/* 使用 span 元素突出显示姓名,设置字体加粗 */}<span className='font-semibold mx-2 text-white'>90后小陈老师</span>👋<br />曾担任开发工程师,目前是一名高校教师,来自重庆</h1>);// 当 currentStage 为 2 时,渲染工作经历相关信息及查看更多链接if (currentStage === 2) {return (// 创建一个包含信息和链接的容器,使用 'info-box' 类名<div className='info-box'>{/* 创建一个段落元素,设置字体粗细、响应式字体大小和居中对齐 */}<p className='font-medium sm:text-xl text-center'>我曾在多个公司工作过,并且在工作中积累了许多技能。</p>{/* 创建一个链接,点击后导航到 '/about' 页面,设置样式类 */}<Link to='/about' className='neo-brutalism-white neo-btn'>了解更多{/* 显示箭头图标,设置宽度、高度和对象适配方式 */}<img src={arrow} alt='arrow' className='w-4 h-4 object-contain' /></Link></div>);}// 当 currentStage 为 3 时,渲染项目相关信息及查看项目链接if (currentStage === 3) {return (// 创建一个包含信息和链接的容器,使用 'info-box' 类名<div className='info-box'>{/* 创建一个段落元素,设置字体粗细、响应式字体大小和居中对齐 */}<p className='font-medium text-center sm:text-xl'>我曾在多个项目中收获颇多,项目相关信息请点击下方。</p>{/* 创建一个链接,点击后导航到 '/projects' 页面,设置样式类 */}<Link to='/projects' className='neo-brutalism-white neo-btn'>查看我的项目{/* 显示箭头图标,设置宽度、高度和对象适配方式 */}<img src={arrow} alt='arrow' className='w-4 h-4 object-contain' /></Link></div>);}// 当 currentStage 为 4 时,渲染商务合作相关信息及联系链接if (currentStage === 4) {return (// 创建一个包含信息和链接的容器,使用 'info-box' 类名<div className='info-box'>{/* 创建一个段落元素,设置字体粗细、响应式字体大小和居中对齐 */}<p className='font-medium sm:text-xl text-center'>{/* Need a project done or looking for a dev? <br/> I'm just a few keystrokes away */}如果你有不错的项目,希望商务合作<br/> 点击下方联系我</p>{/* 创建一个链接,点击后导航到 '/contact' 页面,设置样式类 */}<Link to='/contact' className='neo-brutalism-white neo-btn'>联系我{/* 显示箭头图标,设置宽度、高度和对象适配方式 */}<img src={arrow} alt='arrow' className='w-4 h-4 object-contain' /></Link></div>);}// 若 currentStage 不满足以上任何条件,返回 nullreturn null;
};// 默认导出 HomeInfo 组件
export default HomeInfo;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/80942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 ABP VNext 中集成 OpenCvSharp:构建高可用图像灰度、压缩与格式转换服务

&#x1f680; 在 ABP VNext 中集成 OpenCvSharp&#xff1a;构建高可用图像灰度、压缩与格式转换服务 &#x1f389; &#x1f4da; 目录 &#x1f680; 在 ABP VNext 中集成 OpenCvSharp&#xff1a;构建高可用图像灰度、压缩与格式转换服务 &#x1f389;&#x1f3af; 一、…

C++之STL--string

string 深入探索 C STL 中的 std::string一、std::string 的基本概念1. 内存管理2. 安全性 二、std::string 的构造与初始化1. 默认构造2. 从 C 风格字符串构造3. 从字符串的一部分构造4. 使用重复字符构造 三、std::string 的常用操作1. 字符串拼接2. 字符串比较3. 字符串查找…

网络层——蚂蚁和信鸽的关系VS路由原理和相关配置

前言&#xff08;&#x1f41c;✉️&#x1f54a;️&#xff09; 今天内容的主角是蚂蚁&#xff08;动态路由&#xff09;和信鸽&#xff08;静态路由&#xff09;&#xff0c;为什么这么说呢&#xff0c;来看一则小故事吧。 森林里&#xff0c;森林邮局要送一份重要信件&am…

在 Excel xll 自动注册操作 中使用东方仙盟软件2————仙盟创梦IDE

// 获取当前工作表名称string sheetName (string)XlCall.Excel(XlCall.xlfGetDocument, 7);// 构造动态名称&#xff08;例如&#xff1a;Sheet1!MyNamedCell&#xff09;string fullName $"{sheetName}!MyNamedCell";// 获取引用并设置值var namedRange (ExcelRe…

nginx日志

目录 实验要求&#xff1a; 实验1&#xff1a; 1.使用vim打开/etc/nginx/nginx.conf查看内容 2.重新读取文件并且重启软件 3.实时查看nginx日志 实验2&#xff1a; 1.使用vim打开/etc/rsyslog.conf 2.配置此文件 3.保存退出后&#xff0c;将核心防护与防火墙关闭。 4.…

【高德开放平台-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

2024 CKA模拟系统制作 | Step-By-Step | 3、CKA考试系统的技术设置

目录 免费获取题库配套 CKA_v1.31_模拟系统 一、免费提权配置 1、使用vim 编辑/etc/sudoers 二、安装命令 1、安装运行时接口命令 2、安装Etcd命令 3、配置K8S命令自动补全 三、配置Kubectl 访问集群 1、Master节点 2、Node01节点 四、SSH配置 1、Node01节点candi…

微信小程序请求扣子(coze)api的例子

1. 准备工作 在开始之前&#xff0c;确保已经完成了以下准备工作&#xff1a; 创建并发布了 Coze 智能体。获取了个人访问令牌&#xff08;Personal Access Token&#xff09;&#xff0c;这是用于授权的关键凭证。确认目标智能体的 Bot ID 和其他必要参数已准备就绪。 2. 请…

visual studio重新安装如何修改共享组件、工具和SDK路径方案

安装了VsStudio后,如果自己修改了Shared路径&#xff0c;当卸载旧版本&#xff0c;需要安装新版本时发现&#xff0c;之前的Shared路径无法进行修改&#xff0c;这就很坑了 但是却遇到了路径无法修改的问题…真让人头大&#xff0c;当然不修改也可以&#xff0c;有时候&#x…

【Python 算法零基础 4.排序 ② 冒泡排序】

目录 一、引言 二、算法思想 三、时间复杂度和空间复杂度 1.时间复杂度 2.空间复杂度 四、冒泡排序的优缺点 1.算法的优点 2.算法的缺点 五、实战练习 88. 合并两个有序数组 算法与思路 ① 合并数组 ② 冒泡排序 2148. 元素计数 算法与思路 ① 排序 ② 初始化计数器 ③ 遍历数组…

Java设计模式之桥接模式:从入门到精通

文章目录 1. 桥接模式概述1.1 定义与核心思想1.2 模式结构1.3 通俗理解2. 桥接模式详解2.1 为什么需要桥接模式2.2 桥接模式与相关模式对比2.3 桥接模式的优缺点3. 桥接模式实现步骤3.1 实现步骤详解3.2 代码示例:遥控器与电视4. 桥接模式的高级应用4.1 多维度扩展4.2 与工厂模…

AI与.NET技术实操系列(六):实现图像分类模型的部署与调用

引言 人工智能&#xff08;AI&#xff09;技术的迅猛发展推动了各行各业的数字化转型。图像分类&#xff0c;作为计算机视觉领域的核心技术之一&#xff0c;能够让机器自动识别图像中的物体、场景或特征&#xff0c;已广泛应用于医疗诊断、安防监控、自动驾驶和电子商务等领域…

Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment

17:12:47.358 [http-nio-11080-exec-2] ERROR c.c.f.w.e.GlobalExceptionHandler - [handleRuntimeException,100] - 请求地址/xx/xxx/xxx/xxx/xxx/8bbe5b132a7a4d9bb28cedfeac94d69f,发生未知异常. org.mybatis.spring.MyBatisSystemException: nested exception is org.apach…

jmeter登录接口生成一批token并写入csv文件

背景&#xff1a;大部分项目真实的业务接口都是需要token鉴权的&#xff0c;想对一批核心业务接口进行并发压测&#xff0c;必然要先生成一批token给这些接口并发循环调用。 基本的思路是这样的&#xff1a;一批手机号csv文件 -》登录接口循环读取csv文件并生成token -》每次…

技术篇-2.3.Golang应用场景及开发工具安装

Golang 虽然语法简洁&#xff0c;上手也较快&#xff0c;但其在高并发、微服务和云原生领域的优势明显&#xff0c;要真正精通并灵活运用仍需积累大量实践经验。与 Java 借助重量级框架不同&#xff0c;Go 倾向于使用标准库和轻量级第三方包来构建高性能、低延迟的系统。 1.1应…

Java面试问题基础篇

面向对象 面向对象编程&#xff1a;拿东西过来做对应的事情 特征&#xff1a; 封装&#xff1a;对象代表什么&#xff0c;就要封装对应的数据&#xff0c;并提供数据对应的行为 继承&#xff1a;Java中提供一个关键字extends&#xff0c;用这个关键字可以让一个类和另一个类…

SpringBoot的前世今生

1. Spring Spring 特性&#xff1a;IOC、AOP、DI&#xff0c; Spring&#xff1a;解决对象耦合的问题&#xff0c;在 applicationContext.xml 中申明 bean&#xff0c;Spring在启动时会解析xml文件进行装载&#xff0c;当需要用对象时直接从容器中拿取bean。 Spring万能胶&a…

微信小程序自行diy选择器有效果图

效果图 实现思路 主要运用到小程序自带视图容器《swiper》 运用到的属性《vertical》《display-multiple-items》《current》《animationfinish》 滑动方向变为纵向 vertical&#xff1a;true 显示的滑块数量 display-multiple-items&#xff1a;5 当前所在滑块的 index curr…

【实用教程】如何快速搭建一套私有的埋点系统?

这篇教程将基于开源项目-ClkLog&#xff0c;教大家快速搭建一套自有的埋点系统&#xff0c;从0开始完成数据采集、分析与展示&#xff0c;全流程掌控用户行为数据。 ClkLog是一款支持私有化部署的全开源用户行为数据采集与分析系统&#xff0c;兼容Web、App、小程序多端埋点&am…

falsk模型-flask_sqlalchemy增删改查

1、增、删、改 增 home_bp.route(/useradd) def user_add():users []for i in range(10,20):user User()user.name 冰冰 str(i)user.age 20iusers.append(user)try:db.session.add_all(users)db.session.commit()return jsonify({code:1,info:success})except Exception…