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

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.xdnf.cn/news/609877.html

相关文章:

  • 基于OAuth2-proxy和Keycloak为comfyui实现SSO
  • 深入解析Spring Boot与Redis集成:高性能缓存实践
  • 软件工程(八):UML类图的几种关系
  • Redis-RedisShake数据迁移工具
  • Linux--初识文件系统fd
  • Python的FastApi随笔记
  • MySQL强化关键_016_存储引擎
  • 每天分钟级别时间维度在数据仓库的作用与实现——以Doris和Hive为例(开箱即用)
  • 第四十七节:图像分割-分水岭算法
  • canal实现mysql数据同步
  • JavaWeb面试题 (一)
  • window 显示驱动开发-视频内存供应和回收(三)
  • STM32F103_Bootloader程序开发01 - 什么是IAP?跟OTA有什么关系?
  • 关于 Web 风险点原理与利用:6. 逻辑风险点
  • 跨平台三维可视化与图形库.VTK图形库.
  • CATIA高效工作指南——常规配置篇(三)
  • SAP在化工行业的数字化转型:无锡哲讯科技的赋能实践
  • 微气象在线监测装置:精准感知环境变化的科技之眼
  • win32相关(句柄表)
  • 【Mini-F5265-OB开发板试用测评】2、关于platform.c中的串口号初始化修改的建议
  • GO语言学习(九)
  • Flask项目打开总是上一个项目的网页
  • 短视频与直播场景下的美颜SDK优化方案:滤镜与特效如何平衡性能与美感?
  • 精益数据分析(80/126):病毒式传播系数实战计算与增长策略优化
  • 中电金信X中远海科推出“银航宝”解决方案,共绘航运金融新图景
  • Python Scikit-Learn核心流程
  • Vue3中的TSX:用函数式思维构建现代组件的实践指南
  • 基于vite构建的vue项目添加路由时注意要利用import.meta.glob映射构建生成后的路径
  • 计算机网络学习(三)——HTTP
  • 详解Mysql的快照读和当前读区别