/* Solution Block Styles */ .solution-block { padding: 80px 0; overflow: hidden; } .solution-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .solution-header { text-align: center; margin-bottom: 60px; opacity: 0; transform: translateY(30px); } /* 当JavaScript不可用时显示元素 */ .no-js .solution-header, body:not(.js-loaded) .solution-header { opacity: 1 !important; transform: translateY(0) !important; } .solution-subtitle { display: block; font-size: 14px; color: #666; margin-bottom: 10px; } .solution-title { font-size: 48px; font-weight: 700; color: #333; margin: 0; line-height: 1.2; } .solution-panels { display: flex; height: 500px; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); opacity: 0; transform: translateY(50px); gap: 10px; } /* 当JavaScript不可用时显示元素 */ .no-js .solution-panels, body:not(.js-loaded) .solution-panels { opacity: 1 !important; transform: translateY(0) !important; } .solution-panel { position: relative; flex: 1; cursor: pointer; overflow: hidden; border-radius: 15px; /* 移除CSS的transition,让JavaScript完全控制动画 */ } /* 移除CSS的hover效果,让JavaScript完全控制 */ .panel-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background-color: #f8f9fa; background-size: cover; background-position: center; background-repeat: no-repeat; } .panel-content { position: relative; width: 100%; height: 100%; z-index: 2; display: flex; align-items: flex-end; justify-content: flex-start; padding: 20px; } .panel-content::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%); transition: background 0.6s ease; z-index: 1; } .solution-panel:hover .panel-content::before { background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%); } .panel-text { position: relative; z-index: 2; color: white; transform: translateY(20px); transition: transform 0.6s ease; } .panel-title { font-size: 32px; font-weight: 700; line-height: 1.2; margin: 0 0 10px 0; opacity: 1; transition: all 0.6s ease; } .panel-description { font-size: 16px; line-height: 1.4; margin: 0; opacity: 0; transform: translateY(20px); transition: all 0.6s ease; max-width: 300px; } /* 悬停效果由媒体查询控制 */ /* 响应式设计 */ @media (max-width: 1024px) { .solution-block { padding: 60px 0; } .solution-title { font-size: 40px; } .solution-panels { height: 400px; } .panel-content { padding: 30px; } .panel-title { font-size: 28px; } .panel-description { font-size: 14px; } } @media (max-width: 768px) { .solution-block { padding: 40px 0; } .solution-container { padding: 0 15px; } .solution-header { margin-bottom: 40px; } .solution-title { font-size: 32px; } .solution-panels { flex-direction: column; height: auto; border-radius: 15px; } .solution-panel { height: 300px; flex: none !important; } .solution-panel:hover { flex: none !important; } .solution-panel:not(:hover) { flex: none !important; } .panel-content { padding: 25px; } .panel-title { font-size: 24px; } .panel-description { opacity: 0; transform: translateY(20px); max-width: none; font-size: 14px; } .panel-text { transform: translateY(0); } /* 移动端文字默认显示在正确位置 */ } /* 移动端强制显示内容,避免动画导致空白 */ @media (max-width: 768px) { .solution-header, .solution-panels, .solution-panel, .panel-content::before, .panel-text, .panel-title { opacity: 1 !important; transform: none !important; visibility: visible !important; } } /* 桌面端悬停效果 */ @media (min-width: 769px) { .solution-panel:hover .panel-text { transform: translateY(0); } .solution-panel:hover .panel-description { opacity: 1; transform: translateY(0); } } @media (max-width: 480px) { .solution-title { font-size: 28px; } .solution-panels { border-radius: 10px; } .solution-panel { height: 250px; } .panel-content { padding: 20px; } .panel-title { font-size: 20px; margin-bottom: 10px; } .panel-description { font-size: 13px; } }