/* 财经商贸主题样式 - 现代金融风格 */ :root { /* 财经主题色彩系统 */ --finance-gold: #FFD700; --finance-navy: #1e3a5f; --finance-blue: #2563eb; --finance-green: #10b981; --finance-red: #ef4444; --finance-silver: #94a3b8; --finance-dark: #0f172a; --finance-purple: #7c3aed; /* 渐变色 */ --gold-gradient: linear-gradient(135deg, #FFD700 0%, #FFA500 50%, #FF8C00 100%); --profit-gradient: linear-gradient(135deg, #10b981 0%, #34d399 50%, #6ee7b7 100%); --tech-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%); --premium-gradient: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #7c3aed 100%); /* 基础色 */ --primary: #2563eb; --secondary: #FFD700; --accent: #10b981; --dark: #0f172a; --light: #ffffff; --bg-dark: #030712; --bg-card: #111827; --text-light: rgba(255, 255, 255, 0.95); --text-muted: rgba(255, 255, 255, 0.7); --border-color: rgba(255, 255, 255, 0.1); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', 'PingFang SC', -apple-system, sans-serif; background: var(--bg-dark); color: var(--text-light); overflow-x: hidden; line-height: 1.6; } /* 导航栏 - 专业金融风格 */ .finance-nav { position: fixed; top: 0; left: 0; right: 0; padding: 15px 0; background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(20px); z-index: 1000; transition: all 0.3s ease; border-bottom: 1px solid var(--border-color); } .finance-nav.scrolled { padding: 10px 0; background: rgba(15, 23, 42, 0.98); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); } .nav-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; } .nav-logo { display: flex; align-items: center; gap: 10px; font-size: 1.5rem; font-weight: 700; background: var(--gold-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-decoration: none; } .nav-logo i { font-size: 1.8rem; } .nav-menu { display: flex; gap: 10px; list-style: none; } .nav-link { color: var(--text-light); text-decoration: none; padding: 10px 20px; border-radius: 8px; transition: all 0.3s ease; font-weight: 500; position: relative; } .nav-link:hover { background: rgba(37, 99, 235, 0.1); color: var(--primary); } .nav-link.active { background: var(--primary); color: white; } /* 英雄区域 - 金融数据可视化风格 */ .hero-section { min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; padding: 80px 20px 40px; background: radial-gradient(ellipse at top, #1e3a5f 0%, var(--bg-dark) 50%); } .hero-background { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; } /* 股票K线图背景动画 */ .chart-background { position: absolute; width: 100%; height: 100%; opacity: 0.1; } .chart-line { position: absolute; bottom: 0; width: 2px; background: var(--finance-green); animation: chartGrow 3s ease-in-out infinite; } .chart-line.red { background: var(--finance-red); } @keyframes chartGrow { 0% { height: 0; opacity: 0; } 50% { opacity: 1; } 100% { height: 60%; opacity: 0; } } /* 数字雨效果 */ .finance-matrix { position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; pointer-events: none; } .matrix-column { position: absolute; top: -100%; font-family: monospace; font-size: 14px; color: var(--finance-green); animation: matrixFall 10s linear infinite; opacity: 0.5; } @keyframes matrixFall { to { transform: translateY(200vh); } } .hero-content { position: relative; z-index: 2; text-align: center; max-width: 900px; margin: 0 auto; } .hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 20px; background: rgba(255, 215, 0, 0.1); border: 1px solid var(--finance-gold); border-radius: 30px; margin-bottom: 30px; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .hero-badge i { color: var(--finance-gold); } .hero-badge span { color: var(--finance-gold); font-weight: 600; font-size: 0.9rem; } .hero-title { font-size: clamp(2.5rem, 8vw, 4.5rem); font-weight: 900; margin-bottom: 20px; line-height: 1.1; background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: #2563eb; /* 降级方案 */ } .hero-subtitle { font-size: clamp(1.2rem, 3vw, 1.8rem); color: var(--text-muted); margin-bottom: 30px; font-weight: 300; } .hero-description { font-size: 1.1rem; color: var(--text-muted); margin-bottom: 40px; line-height: 1.8; } .hero-cta { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; } .btn-primary { padding: 15px 35px; background: var(--primary); color: white; text-decoration: none; border-radius: 10px; font-weight: 600; font-size: 1.1rem; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 4px 20px rgba(37, 99, 235, 0.3); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 30px rgba(37, 99, 235, 0.4); } .btn-secondary { padding: 15px 35px; background: transparent; color: var(--text-light); text-decoration: none; border: 2px solid var(--border-color); border-radius: 10px; font-weight: 600; font-size: 1.1rem; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 10px; } .btn-secondary:hover { background: rgba(255, 255, 255, 0.05); border-color: var(--primary); color: var(--primary); } /* 统计数据展示 */ .stats-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; margin-top: 60px; padding: 40px; background: rgba(255, 255, 255, 0.02); border-radius: 20px; border: 1px solid var(--border-color); } .stat-item { text-align: center; } .stat-number { font-size: 2.5rem; font-weight: 700; background: var(--gold-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 10px; } .stat-label { color: var(--text-muted); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 1px; } /* 关于我部分 - 专业商务风格 */ .about-section { padding: 100px 20px; background: linear-gradient(180deg, var(--bg-dark) 0%, var(--bg-card) 100%); } .section-container { max-width: 1200px; margin: 0 auto; } .section-header { text-align: center; margin-bottom: 60px; } .section-title { font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; background: var(--tech-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .section-subtitle { color: var(--text-muted); font-size: 1.1rem; } .about-content { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; align-items: start; } .profile-card { background: var(--bg-card); border-radius: 20px; padding: 40px; border: 1px solid var(--border-color); text-align: center; position: relative; overflow: hidden; } /* 移除蓝色遮罩 */ .profile-image { width: 180px; height: 180px; border-radius: 50%; margin: 0 auto 30px; position: relative; z-index: 1; border: 4px solid var(--primary); box-shadow: 0 10px 40px rgba(37, 99, 235, 0.3); object-fit: cover; object-position: center; } .profile-name { font-size: 1.8rem; font-weight: 700; margin-bottom: 10px; } .profile-title { color: var(--finance-gold); font-size: 1.1rem; margin-bottom: 30px; } .profile-info { text-align: left; } .info-item { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; padding: 15px; background: rgba(255, 255, 255, 0.02); border-radius: 10px; transition: all 0.3s ease; } .info-item:hover { background: rgba(37, 99, 235, 0.1); transform: translateX(5px); } .info-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: var(--primary); border-radius: 10px; color: white; font-size: 1.2rem; } .info-content { flex: 1; } .info-label { font-size: 0.9rem; color: var(--text-muted); margin-bottom: 5px; } .info-value { font-weight: 600; color: var(--text-light); } /* 技能部分 - 财经专业技能展示 */ .skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } .skill-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 15px; padding: 30px; transition: all 0.3s ease; position: relative; overflow: hidden; } .skill-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gold-gradient); transform: scaleX(0); transition: transform 0.3s ease; } .skill-card:hover::before { transform: scaleX(1); } .skill-card:hover { transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); } .skill-icon { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; background: var(--tech-gradient); border-radius: 15px; font-size: 1.8rem; color: white; margin-bottom: 20px; } .skill-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 15px; } .skill-description { color: var(--text-muted); margin-bottom: 20px; line-height: 1.6; } .skill-tags { display: flex; flex-wrap: wrap; gap: 10px; } .skill-tag { padding: 6px 15px; background: rgba(255, 215, 0, 0.1); border: 1px solid var(--finance-gold); border-radius: 20px; font-size: 0.85rem; color: var(--finance-gold); transition: all 0.3s ease; } .skill-tag:hover { background: var(--finance-gold); color: var(--dark); } /* 项目展示 - 商业案例风格 */ .projects-section { padding: 100px 20px; } /* 项目卡片网格布局 */ .projects-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 40px; margin-top: 60px; } .project-card { background: var(--bg-card); border-radius: 20px; overflow: hidden; border: 1px solid var(--border-color); transition: all 0.3s ease; cursor: pointer; position: relative; } .project-card:hover { transform: translateY(-10px); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4); } @media (max-width: 1024px) { .projects-grid { grid-template-columns: 1fr !important; } } .project-image { position: relative; height: 320px; overflow: hidden; background: var(--premium-gradient); } .project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .project-card:hover .project-image img { transform: scale(1.1); } .project-badge { position: absolute; top: 15px; right: 15px; padding: 6px 12px; background: var(--finance-green); color: white; border-radius: 15px; font-size: 0.75rem; font-weight: 600; } .project-content { padding: 35px; } .project-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 15px; color: var(--text-light); } .project-description { color: var(--text-muted); margin-bottom: 25px; line-height: 1.6; } .project-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-bottom: 25px; } .metric-item { display: flex; align-items: center; gap: 10px; } .metric-icon { color: var(--finance-gold); font-size: 1.2rem; } .metric-value { font-weight: 600; color: var(--text-light); } .project-link { display: inline-flex; align-items: center; gap: 10px; color: var(--primary); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .project-link:hover { gap: 15px; } /* 教育背景 - 学术专业风格 */ .education-section { padding: 100px 20px; background: linear-gradient(180deg, var(--bg-dark) 0%, var(--bg-card) 100%); } .education-card { border-radius: 20px; padding: 40px; border: 1px solid rgba(255, 215, 0, 0.15); position: relative; overflow: hidden; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6); max-width: 900px; margin: 0 auto; } .education-card::before { content: ''; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: var(--gold-gradient); } .education-header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 30px; } .education-info { flex: 1; } .university-name { font-size: 1.8rem; font-weight: 700; margin-bottom: 10px; color: var(--text-light); } .degree-info { color: var(--finance-gold); font-size: 1.1rem; margin-bottom: 10px; } .education-period { color: var(--text-muted); font-size: 0.95rem; } .education-logo { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background: var(--premium-gradient); border-radius: 15px; font-size: 2rem; color: white; } .courses-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 30px; } .course-item { padding: 15px; background: rgba(255, 255, 255, 0.02); border: 1px solid var(--border-color); border-radius: 10px; transition: all 0.3s ease; } .course-item:hover { background: rgba(37, 99, 235, 0.1); border-color: var(--primary); transform: translateY(-3px); } .course-name { font-weight: 600; margin-bottom: 5px; } .course-grade { color: var(--finance-green); font-size: 0.9rem; } /* 联系部分 - 商务联系风格 */ .contact-section { padding: 100px 20px; background: var(--bg-dark); } .contact-content { max-width: 800px; margin: 0 auto; text-align: center; } .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; margin-top: 50px; } .contact-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 15px; padding: 30px; transition: all 0.3s ease; } .contact-card:hover { transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); border-color: var(--primary); } .contact-icon { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; background: var(--tech-gradient); border-radius: 50%; margin: 0 auto 20px; font-size: 1.5rem; color: white; } .contact-title { font-size: 1.2rem; font-weight: 600; margin-bottom: 10px; } .contact-info { color: var(--text-muted); } .contact-link { color: var(--primary); text-decoration: none; transition: all 0.3s ease; } .contact-link:hover { color: var(--finance-gold); } /* 页脚 - 专业简洁风格 */ .footer { padding: 40px 20px; background: var(--bg-card); border-top: 1px solid var(--border-color); text-align: center; } .footer-content { max-width: 1200px; margin: 0 auto; } .social-links { display: flex; gap: 20px; justify-content: center; margin-bottom: 30px; } .social-link { width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border-color); border-radius: 50%; color: var(--text-light); text-decoration: none; transition: all 0.3s ease; font-size: 1.2rem; } .social-link:hover { background: var(--primary); border-color: var(--primary); transform: translateY(-3px); color: white; } .footer-text { color: var(--text-muted); font-size: 0.95rem; } /* 粒子背景 */ #particles-js { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; opacity: 0.3; } /* 打字机光标 */ .typed-cursor { animation: blink 1s infinite; color: var(--finance-gold); font-weight: 700; } @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } } /* 3D悬浮效果 */ .project-card { transform-style: preserve-3d; transition: transform 0.6s; } .project-card:hover { transform: rotateY(5deg) rotateX(5deg) translateZ(20px); } /* 视差滚动层 */ .parallax-layer { position: absolute; width: 100%; height: 100%; } /* 文字发光效果 */ .glow-text { text-shadow: 0 0 20px rgba(255, 215, 0, 0.5), 0 0 40px rgba(255, 215, 0, 0.3), 0 0 60px rgba(255, 215, 0, 0.1); } /* 磁性按钮效果 */ .magnetic-button { position: relative; transition: transform 0.3s cubic-bezier(0.23, 1, 0.320, 1); } /* 液体变形效果 */ .liquid-shape { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; animation: liquidMorph 8s ease-in-out infinite; } @keyframes liquidMorph { 0%, 100% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; } 25% { border-radius: 30% 70% 70% 30% / 30% 70% 30% 70%; } 50% { border-radius: 70% 30% 30% 70% / 70% 30% 70% 30%; } 75% { border-radius: 40% 60% 70% 30% / 40% 60% 30% 70%; } } /* 技能进度条动画 */ .skill-progress { position: relative; background: var(--profit-gradient); height: 100%; border-radius: 10px; overflow: hidden; } .skill-progress::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: shimmer 2s infinite; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } /* 交互式图表容器 */ .interactive-chart { position: relative; cursor: crosshair; } .chart-tooltip { position: absolute; background: var(--bg-card); padding: 10px; border-radius: 8px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: 100; } .chart-tooltip.show { opacity: 1; } /* 滚动指示器增强 */ .scroll-indicator { position: fixed; right: 30px; top: 50%; transform: translateY(-50%); z-index: 100; } .scroll-dots { display: flex; flex-direction: column; gap: 15px; } .scroll-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.3); cursor: pointer; transition: all 0.3s; } .scroll-dot.active { background: var(--finance-gold); transform: scale(1.5); } /* 响应式设计 */ @media (max-width: 1200px) { .finance-cube-container { right: 5%; width: 200px; height: 200px; } .cube-face { width: 200px; height: 200px; } .cube-front { transform: rotateY(0deg) translateZ(100px); } .cube-back { transform: rotateY(180deg) translateZ(100px); } .cube-right { transform: rotateY(90deg) translateZ(100px); } .cube-left { transform: rotateY(-90deg) translateZ(100px); } .cube-top { transform: rotateX(90deg) translateZ(100px); } .cube-bottom { transform: rotateX(-90deg) translateZ(100px); } } @media (max-width: 768px) { .hero-title { font-size: 2.5rem; } .finance-cube-container { position: relative; right: auto; top: auto; transform: none; margin: 30px auto; width: 150px; height: 150px; } .cube-face { width: 150px; height: 150px; } .face-content i { font-size: 2rem; } .face-content span { font-size: 1rem; } .cube-front { transform: rotateY(0deg) translateZ(75px); } .cube-back { transform: rotateY(180deg) translateZ(75px); } .cube-right { transform: rotateY(90deg) translateZ(75px); } .cube-left { transform: rotateY(-90deg) translateZ(75px); } .cube-top { transform: rotateX(90deg) translateZ(75px); } .cube-bottom { transform: rotateX(-90deg) translateZ(75px); } .about-content { grid-template-columns: 1fr; } .projects-grid { grid-template-columns: 1fr; } .nav-menu { display: none; } .stats-container { grid-template-columns: repeat(2, 1fr); } } /* 动态背景形状 */ .dynamic-shapes { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: -2; } .floating-shape { position: absolute; background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), rgba(37, 99, 235, 0.1)); border-radius: 50%; filter: blur(40px); } /* 3D金融正方体 */ .finance-cube-container { position: absolute; right: 10%; top: 50%; transform: translateY(-50%); width: 250px; height: 250px; perspective: 1000px; z-index: 10; } .finance-cube { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; animation: rotateCube 20s infinite linear; transform: rotateX(-20deg) rotateY(45deg); } @keyframes rotateCube { 0% { transform: rotateX(-20deg) rotateY(0deg); } 100% { transform: rotateX(-20deg) rotateY(360deg); } } .cube-face { position: absolute; width: 250px; height: 250px; border: 2px solid rgba(255, 215, 0, 0.3); display: flex; align-items: center; justify-content: center; backdrop-filter: blur(10px); transition: all 0.3s ease; } .face-content { display: flex; flex-direction: column; align-items: center; gap: 15px; color: white; font-weight: 600; font-size: 1.2rem; } .face-content i { font-size: 3rem; color: var(--finance-gold); filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5)); } .cube-front { background: linear-gradient(135deg, rgba(37, 99, 235, 0.8), rgba(59, 130, 246, 0.6)); transform: rotateY(0deg) translateZ(125px); } .cube-back { background: linear-gradient(135deg, rgba(16, 185, 129, 0.8), rgba(52, 211, 153, 0.6)); transform: rotateY(180deg) translateZ(125px); } .cube-right { background: linear-gradient(135deg, rgba(255, 215, 0, 0.8), rgba(255, 165, 0, 0.6)); transform: rotateY(90deg) translateZ(125px); } .cube-left { background: linear-gradient(135deg, rgba(239, 68, 68, 0.8), rgba(248, 113, 113, 0.6)); transform: rotateY(-90deg) translateZ(125px); } .cube-top { background: linear-gradient(135deg, rgba(124, 58, 237, 0.8), rgba(139, 92, 246, 0.6)); transform: rotateX(90deg) translateZ(125px); } .cube-bottom { background: linear-gradient(135deg, rgba(245, 158, 11, 0.8), rgba(251, 191, 36, 0.6)); transform: rotateX(-90deg) translateZ(125px); } /* 悬停效果 */ .finance-cube:hover { animation-play-state: paused; } .cube-face { cursor: pointer; } .cube-face::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 215, 0, 0); transition: background 0.3s ease; pointer-events: none; } .cube-face:hover::after { background: rgba(255, 215, 0, 0.1); } .cube-face:hover { border-color: var(--finance-gold); box-shadow: inset 0 0 30px rgba(255, 215, 0, 0.2); } /* 发光效果 */ .finance-cube-container::before { content: ''; position: absolute; top: 50%; left: 50%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(255, 215, 0, 0.2) 0%, transparent 70%); transform: translate(-50%, -50%); pointer-events: none; animation: pulse 3s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } } /* 增强的项目卡片 */ .project-card { perspective: 1000px; transform-style: preserve-3d; will-change: transform; } .project-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, transparent, rgba(255, 215, 0, 0.1)); opacity: 0; transition: opacity 0.3s; border-radius: 20px; } .project-card:hover::before { opacity: 1; } /* 技能卡片悬浮效果 */ .skill-card { transform-style: preserve-3d; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .skill-card:hover { transform: translateY(-10px) rotateX(5deg); box-shadow: 0 20px 40px rgba(255, 215, 0, 0.2), 0 10px 20px rgba(37, 99, 235, 0.1); } /* 增强的统计数字 */ .stat-number { background: var(--gold-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: 900; position: relative; } .stat-number::after { content: attr(data-suffix); position: absolute; right: -0.5em; font-size: 0.6em; top: 0; } /* 导航栏毛玻璃效果 */ .finance-nav.scrolled { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); background: rgba(15, 23, 42, 0.8); } /* 按钮涟漪效果 */ .btn-primary, .btn-secondary { position: relative; overflow: hidden; } .btn-primary::before, .btn-secondary::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.5); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .btn-primary:hover::before, .btn-secondary:hover::before { width: 300px; height: 300px; } /* 扑克牌效果样式 */ .poker-container { position: relative; width: 100%; max-width: 1200px; height: 750px; margin: 40px auto; display: flex; justify-content: center; align-items: flex-start; padding-top: 150px; perspective: 2000px; transform-style: preserve-3d; } .poker-stack { position: relative; width: 1100px; height: 560px; transform-style: preserve-3d; } .poker-card { position: absolute; width: 380px; height: 560px; border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 20px; background: var(--bg-card); transform-origin: bottom left; overflow: hidden; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); transition: transform 0.3s ease-out; cursor: pointer; will-change: transform; backface-visibility: hidden; transform: translateZ(0); } .poker-card .project-image { height: 220px; position: relative; overflow: hidden; border-radius: 0; } .poker-card .project-content { padding: 25px; height: calc(100% - 220px); overflow: hidden; background: var(--bg-card); display: flex; flex-direction: column; } .poker-card .project-title { font-size: 1.4rem; margin-bottom: 15px; color: var(--finance-gold); font-weight: 600; } .poker-card .project-description { font-size: 0.95rem; line-height: 1.7; color: #ccc; margin-bottom: 15px; flex-shrink: 0; } /* 实习信息样式 */ .poker-card .project-content > div { flex: 1; min-height: 0; margin-bottom: 15px; } .poker-card .project-content > div p { margin: 5px 0; font-size: 0.85rem; } .poker-card .project-link { margin-top: auto; color: var(--finance-gold); text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all 0.3s; align-self: flex-start; } .poker-card .project-link:hover { transform: translateX(5px); } /* 扑克牌位置 - 增大间距,保持原始层级不变 */ .poker1 { transform: rotate(-10deg) translate3d(0, 0, 0); z-index: 5; } .poker2 { transform: rotate(-7deg) translate3d(50%, -12%, 0); z-index: 4; } .poker3 { transform: rotate(-3deg) translate3d(100%, -19%, 0); z-index: 3; } .poker4 { transform: rotate(3deg) translate3d(150%, -26%, 0); z-index: 2; } .poker5 { transform: rotate(7deg) translate3d(200%, -23%, 0); z-index: 1; } /* 简化的悬停效果 - 只改变transform,提升性能 */ .poker1:hover { transform: rotate(-10deg) translate3d(0, -150px, 0); } .poker2:hover { transform: rotate(-7deg) translate3d(370px, -12%, 0); } .poker3:hover { transform: rotate(-3deg) translate3d(560px, -19%, 0); } .poker4:hover { transform: rotate(3deg) translate3d(750px, -26%, 0); } .poker5:hover { transform: rotate(7deg) translate3d(940px, -23%, 0); } /* 响应式调整 */ @media (max-width: 1024px) { .poker-container { height: 700px; padding-top: 120px; } .poker-card { width: 320px; height: 480px; } .poker-card .project-image { height: 180px; } .poker-card .project-title { font-size: 1.1rem; } .poker-card .project-description { font-size: 0.85rem; } } @media (max-width: 768px) { .poker-container { height: 600px; padding-top: 100px; } .poker-stack { width: 100%; } .poker-card { width: 260px; height: 380px; } .poker-card .project-image { height: 140px; } .poker-card .project-title { font-size: 1rem; } .poker-card .project-description { font-size: 0.8rem; } /* 调整移动端扑克牌位置 */ .poker1 { transform: rotate(-8deg) translate(0, 0); } .poker2 { transform: rotate(-4deg) translate(25%, -10%); } .poker3 { transform: rotate(0deg) translate(50%, -15%); } .poker4 { transform: rotate(4deg) translate(75%, -20%); } .poker5 { transform: rotate(8deg) translate(100%, -18%); } } /* 动画效果 */ .fade-in { opacity: 0; transform: translateY(30px); animation: fadeIn 0.6s ease forwards; } @keyframes fadeIn { to { opacity: 1; transform: translateY(0); } } .slide-in-left { opacity: 0; transform: translateX(-50px); animation: slideInLeft 0.6s ease forwards; } @keyframes slideInLeft { to { opacity: 1; transform: translateX(0); } } .slide-in-right { opacity: 0; transform: translateX(50px); animation: slideInRight 0.6s ease forwards; } @keyframes slideInRight { to { opacity: 1; transform: translateX(0); } } /* 英雄页标题动画修复 */ .title-line-1, .title-line-2 { display: block !important; opacity: 0; background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* 确保fadeInUp动画定义存在 */ @keyframes fadeInUp { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }