/* 英雄页地图背景样式 */ .hero-travel { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #0a0e27; /* 深色背景作为基底 */ pointer-events: none; /* 让点击事件穿透到地图 */ } .hero-travel > * { pointer-events: auto; /* 子元素恢复点击事件 */ } /* 地图背景容器 */ #hero-map-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0.5; filter: brightness(0.9) contrast(1.1); animation: mapFadeIn 2s ease; pointer-events: auto; } @keyframes mapFadeIn { from { opacity: 0; transform: scale(1.05); } to { opacity: 0.5; transform: scale(1); } } /* 英雄内容优化 */ .hero-content { position: relative; z-index: 10; background: linear-gradient(135deg, rgba(10, 14, 39, 0.4) 0%, rgba(38, 70, 83, 0.3) 100%); backdrop-filter: blur(25px) saturate(150%); -webkit-backdrop-filter: blur(25px) saturate(150%); border-radius: 30px; padding: 50px 40px; max-width: 800px; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3), 0 0 100px rgba(0, 180, 216, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.2); animation: contentSlideUp 1s ease 0.5s both; pointer-events: auto; } @keyframes contentSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } /* 护照戳记效果优化 */ .passport-stamp { display: inline-block; padding: 12px 35px; border: 3px solid rgba(240, 113, 103, 0.8); border-radius: 12px; transform: rotate(-3deg); margin-bottom: 25px; font-weight: bold; color: rgba(240, 113, 103, 0.9); text-transform: uppercase; letter-spacing: 3px; background: rgba(240, 113, 103, 0.1); animation: stampEffect 0.5s ease; box-shadow: 0 4px 15px rgba(240, 113, 103, 0.2); } /* 标题优化 */ .hero-title { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 900; margin-bottom: 25px; background: linear-gradient(135deg, #00b4d8 0%, #90e0ef 50%, #ff6b35 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1.2; text-shadow: 0 0 40px rgba(0, 180, 216, 0.3); } /* 位置标签美化 */ .location-tag { display: inline-flex; align-items: center; gap: 8px; padding: 10px 25px; background: linear-gradient(135deg, rgba(0, 180, 216, 0.2), rgba(144, 224, 239, 0.1)); border: 1px solid rgba(0, 180, 216, 0.5); border-radius: 25px; font-size: 1rem; animation: pulse 2s infinite; box-shadow: 0 4px 20px rgba(0, 180, 216, 0.2); } /* 按钮组优化 */ .hero-content .btn-travel { position: relative; overflow: hidden; transition: all 0.3s ease; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2); } .hero-content .btn-travel::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%); transform: translate(-50%, -50%); transition: width 0.6s ease, height 0.6s ease; } .hero-content .btn-travel:hover::before { width: 300px; height: 300px; } .hero-content .btn-travel:hover { transform: translateY(-3px); box-shadow: 0 10px 35px rgba(0, 0, 0, 0.3); } /* 描述文字优化 */ .hero-content p { color: rgba(255, 255, 255, 0.9); font-size: 1.15rem; line-height: 1.8; margin: 30px auto; max-width: 600px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } /* 静态光效边框 */ .hero-content::after { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: linear-gradient(135deg, rgba(0, 180, 216, 0.1), transparent 30%, transparent 70%, rgba(255, 107, 53, 0.1)); border-radius: 30px; z-index: -1; opacity: 0.6; } /* 响应式优化 */ @media (max-width: 768px) { .hero-content { padding: 35px 25px; margin: 20px; border-radius: 20px; } .hero-title { font-size: 2rem; } #hero-map-background { opacity: 0.4; /* 移动端降低透明度 */ } .location-tag { font-size: 0.9rem; padding: 8px 20px; } } /* 地图交互提示 */ .map-hint { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.5); font-size: 12px; animation: fadeInOut 3s infinite; z-index: 5; } @keyframes fadeInOut { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.7; } } /* 添加微妙的动画效果 */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } .hero-content { animation: contentSlideUp 1s ease 0.5s both; }