急急急
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
yiqiu
2025-12-25 23:46:59 +08:00
parent b4e4cce8d2
commit 18f25e3285

View File

@@ -4697,287 +4697,267 @@ html {
padding: 12px 32px; padding: 12px 32px;
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
color: rgba(226, 232, 240, 0.8);
background: rgba(15, 23, 42, 0.6);
border: 1px solid rgba(148, 163, 184, 0.2);
border-radius: 30px;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
/* 热销产品列表容器 - 兼容Swiper结构 */ /* 按钮光晕效果 */
/* Desktop: Grid Layout */ .solution-tab::before {
.products-grid { content: '';
display: grid; position: absolute;
grid-template-columns: repeat(4, 1fr); top: 50%;
gap: 24px; left: 50%;
width: 100%; width: 0;
} height: 0;
border-radius: 50%;
background: radial-gradient(circle, rgba(56, 189, 248, 0.3) 0%, transparent 70%);
transform: translate(-50%, -50%);
transition: width 0.5s ease, height 0.5s ease;
}
/* Swiper Wrapper 兼容性修正 */ .solution-tab:hover {
.swiper-wrapper.products-grid { color: #38BDF8;
box-sizing: border-box; border-color: rgba(56, 189, 248, 0.4);
} background: rgba(15, 23, 42, 0.8);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.2);
}
/* 产品卡片样式 */ .solution-tab:hover::before {
.product-card { width: 200px;
background: #ffffff; height: 200px;
border-radius: 12px; }
border: 1px solid #e2e8f0;
padding: 24px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
height: auto;
/* Allow auto height */
box-sizing: border-box;
/* Ensure padding is included */
}
/* 按钮光晕效果 */ .solution-tab.active {
.solution-tab::before { color: #ffffff;
content: ''; background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
position: absolute; border-color: transparent;
top: 50%; box-shadow: 0 4px 20px rgba(56, 189, 248, 0.4);
left: 50%; }
width: 0;
height: 0;
border-radius: 50%;
background: radial-gradient(circle, rgba(56, 189, 248, 0.3) 0%, transparent 70%);
transform: translate(-50%, -50%);
transition: width 0.5s ease, height 0.5s ease;
}
.solution-tab:hover { .solution-tab.active::before {
color: #38BDF8; display: none;
border-color: rgba(56, 189, 248, 0.4); }
background: rgba(15, 23, 42, 0.8);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.2);
}
.solution-tab:hover::before { /* 下层:幻灯片容器 */
width: 200px; .solution-slider {
height: 200px; position: relative;
} min-height: 450px;
overflow: hidden;
}
.solution-tab.active { /* 单个幻灯片 */
color: #ffffff; .solution-slide {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%); position: absolute;
border-color: transparent; top: 0;
box-shadow: 0 4px 20px rgba(56, 189, 248, 0.4); left: 0;
} width: 100%;
opacity: 0;
transition: opacity 0.6s ease;
pointer-events: none;
z-index: 1;
}
.solution-tab.active::before { /* 激活的幻灯片 */
display: none; .solution-slide.active {
} position: relative;
opacity: 1;
pointer-events: auto;
z-index: 2;
}
/* 下层:幻灯片容器 */ /* 幻灯片内容区域 */
.solution-slider { .solution-content {
position: relative; display: flex;
min-height: 450px; align-items: stretch;
overflow: hidden; gap: 60px;
} padding: 0;
background: rgba(15, 23, 42, 0.7);
backdrop-filter: blur(16px);
border: 1px solid rgba(148, 163, 184, 0.15);
border-radius: 0;
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
min-height: 500px;
}
/* 单个幻灯片 */ /* 左侧文字区域 */
.solution-slide { .solution-text {
position: absolute; flex: 1;
top: 0; min-width: 0;
left: 0; padding: 40px;
width: 100%; display: flex;
opacity: 0; flex-direction: column;
transition: opacity 0.6s ease; justify-content: center;
pointer-events: none; }
z-index: 1;
}
/* 激活的幻灯片 */ .solution-text h3 {
.solution-slide.active { font-size: 32px;
position: relative; font-weight: 700;
opacity: 1; color: #F9FAFB;
pointer-events: auto; margin-bottom: 12px;
z-index: 2; background: linear-gradient(135deg, #FFFFFF 0%, #38BDF8 100%);
} -webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* 幻灯片内容区域 */ .solution-subtitle {
.solution-content { font-size: 16px;
display: flex; color: rgba(148, 163, 184, 0.9);
align-items: stretch; margin-bottom: 24px;
gap: 60px; font-weight: 500;
padding: 0; }
background: rgba(15, 23, 42, 0.7);
backdrop-filter: blur(16px);
border: 1px solid rgba(148, 163, 184, 0.15);
border-radius: 0;
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
min-height: 500px;
}
/* 左侧文字区域 */ .solution-desc {
.solution-text { color: rgba(203, 213, 225, 0.85);
flex: 1; line-height: 1.8;
min-width: 0; margin-bottom: 32px;
padding: 40px; }
display: flex;
flex-direction: column;
justify-content: center;
}
.solution-text h3 { .solution-desc p {
font-size: 32px; margin-bottom: 12px;
font-weight: 700; font-size: 15px;
color: #F9FAFB; }
margin-bottom: 12px;
background: linear-gradient(135deg, #FFFFFF 0%, #38BDF8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.solution-subtitle { .solution-desc p:last-child {
font-size: 16px; margin-bottom: 0;
color: rgba(148, 163, 184, 0.9); }
margin-bottom: 24px;
font-weight: 500;
}
.solution-desc { /* 了解详情链接 */
color: rgba(203, 213, 225, 0.85); .solution-link {
line-height: 1.8; display: inline-flex;
margin-bottom: 32px; align-items: center;
} gap: 8px;
padding: 12px 32px;
font-size: 15px;
font-weight: 600;
color: #ffffff;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border-radius: 30px;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.3);
align-self: flex-start;
}
.solution-desc p { .solution-link:hover {
margin-bottom: 12px; transform: translateY(-2px);
font-size: 15px; box-shadow: 0 6px 24px rgba(56, 189, 248, 0.5);
} }
.solution-desc p:last-child { .solution-link .icon-arrow-right {
margin-bottom: 0; transition: transform 0.3s ease;
} }
/* 了解详情链接 */ .solution-link:hover .icon-arrow-right {
.solution-link { transform: translateX(5px);
display: inline-flex; }
align-items: center;
gap: 8px;
padding: 12px 32px;
font-size: 15px;
font-weight: 600;
color: #ffffff;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border-radius: 30px;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.3);
align-self: flex-start;
}
.solution-link:hover { /* 右侧图片区域 */
transform: translateY(-2px); .solution-image {
box-shadow: 0 6px 24px rgba(56, 189, 248, 0.5); flex-shrink: 0;
} width: 600px;
position: relative;
overflow: hidden;
border-radius: 0;
background: rgba(15, 23, 42, 0.5);
}
.solution-link .icon-arrow-right { .solution-image img {
transition: transform 0.3s ease; width: 100%;
} height: 100%;
object-fit: cover;
filter: brightness(1.1);
transition: transform 0.5s ease;
}
.solution-link:hover .icon-arrow-right { .solution-slide.active .solution-image img {
transform: translateX(5px); transform: scale(1.05);
} }
/* 右侧图片区域 */ /* 图片光晕效果 */
.solution-image { .solution-image::after {
flex-shrink: 0; content: '';
width: 600px; position: absolute;
position: relative; top: -50%;
overflow: hidden; left: -50%;
border-radius: 0; width: 200%;
background: rgba(15, 23, 42, 0.5); height: 200%;
} background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.5s ease;
pointer-events: none;
}
.solution-image img { .solution-slide.active .solution-image::after {
width: 100%; opacity: 1;
height: 100%; }
object-fit: cover;
filter: brightness(1.1);
transition: transform 0.5s ease;
}
.solution-slide.active .solution-image img { /* ============================================
transform: scale(1.05);
}
/* 图片光晕效果 */
.solution-image::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.5s ease;
pointer-events: none;
}
.solution-slide.active .solution-image::after {
opacity: 1;
}
/* ============================================
移动端侧边栏首页优化 移动端侧边栏首页优化
============================================ */ ============================================ */
/* 移动端侧边栏背景优化 */ /* 移动端侧边栏背景优化 */
#index .mobile-sidebar-content { #index .mobile-sidebar-content {
background: linear-gradient(180deg, #020617 0%, #0F172A 100%); background: linear-gradient(180deg, #020617 0%, #0F172A 100%);
} }
#index .mobile-sidebar-header { #index .mobile-sidebar-header {
background: rgba(15, 23, 42, 0.95); background: rgba(15, 23, 42, 0.95);
border-bottom: 1px solid rgba(148, 163, 184, 0.1); border-bottom: 1px solid rgba(148, 163, 184, 0.1);
} }
#index .mobile-nav-link { #index .mobile-nav-link {
color: #E5E7EB; color: #E5E7EB;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
#index .mobile-nav-link:hover { #index .mobile-nav-link:hover {
color: #38BDF8; color: #38BDF8;
} }
#index .mobile-user-info { #index .mobile-user-info {
background: rgba(30, 41, 59, 0.6); background: rgba(30, 41, 59, 0.6);
border: 1px solid rgba(148, 163, 184, 0.1); border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 8px; border-radius: 8px;
padding: 12px; padding: 12px;
margin-bottom: 12px; margin-bottom: 12px;
} }
#index .mobile-user-avatar { #index .mobile-user-avatar {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%); background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.3); box-shadow: 0 0 12px rgba(56, 189, 248, 0.3);
} }
#index .mobile-user-name { #index .mobile-user-name {
color: #E5E7EB; color: #E5E7EB;
} }
/* 返回顶部按钮优化 */ /* 返回顶部按钮优化 */
#index .back-top-wrapper { #index .back-top-wrapper {
background: rgba(56, 189, 248, 0.15); background: rgba(56, 189, 248, 0.15);
border: 1px solid rgba(56, 189, 248, 0.3); border: 1px solid rgba(56, 189, 248, 0.3);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.2); box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
transition: all 0.3s ease; transition: all 0.3s ease;
} }
#index .back-top-wrapper:hover { #index .back-top-wrapper:hover {
background: rgba(56, 189, 248, 0.3); background: rgba(56, 189, 248, 0.3);
box-shadow: 0 0 20px rgba(56, 189, 248, 0.4); box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
} }
/* Mobile Overrides for Index Page */ /* Mobile Overrides for Index Page */
/* 注意:移动端 banner 样式已在第 698 行定义,这里不要重复设置 */ /* 注意:移动端 banner 样式已在第 698 行定义,这里不要重复设置 */
/* /*
以下样式已被注释,因为与第 698 行的移动端样式冲突 以下样式已被注释,因为与第 698 行的移动端样式冲突
导致 swiper-slide 高度变成 400px 而不是 200px 导致 swiper-slide 高度变成 400px 而不是 200px
@@ -5019,11 +4999,11 @@ html {
} }
/* Feature Cards (Banner-S) */ /* Feature Cards (Banner-S) */
/* 注意banner-list 的桌面样式已在第 831 行定义 (flex布局4列) /* 注意banner-list 的桌面样式已在第 831 行定义 (flex布局4列)
移动端样式在第 945 行定义 (grid布局2列) 移动端样式在第 945 行定义 (grid布局2列)
这里的重复样式已被移除以避免冲突 */ 这里的重复样式已被移除以避免冲突 */
/* 以下样式已注释因为会覆盖桌面端的flex布局 /* 以下样式已注释因为会覆盖桌面端的flex布局
.banner .banner-s { .banner .banner-s {
margin-top: 0; margin-top: 0;
padding-top: 0; padding-top: 0;
@@ -5044,83 +5024,83 @@ html {
} }
*/ */
/* Mobile Overrides Group */ /* Mobile Overrides Group */
@media (max-width: 768px) { @media (max-width: 768px) {
/* Hot Products - Mobile Slider */ /* Hot Products - Mobile Slider */
.hot-products-pagination { .hot-products-pagination {
position: relative; position: relative;
margin-top: 20px; margin-top: 20px;
bottom: 0 !important; bottom: 0 !important;
}
.hot-products-pagination .swiper-pagination-bullet {
width: 8px;
height: 8px;
background: #cbd5e1;
opacity: 1;
}
.hot-products-pagination .swiper-pagination-bullet-active {
background: #3b82f6;
width: 20px;
border-radius: 4px;
}
/* Hot Products - Card View Override */
.products-table thead {
display: none;
}
.products-table,
.products-table tbody,
.products-table tr,
.products-table td {
display: block;
width: 100%;
}
.products-table tr {
margin-bottom: 15px;
background: rgba(30, 41, 59, 0.4);
border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 12px;
padding: 15px;
}
.products-table td {
text-align: right;
padding: 8px 0;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(148, 163, 184, 0.05);
}
.products-table td:last-child {
border-bottom: none;
}
.products-table td::before {
content: attr(data-label);
float: left;
font-weight: 600;
color: rgba(148, 163, 184, 0.8);
}
/* Solution Wrapper - Stacked */
.solution-wrapper {
display: flex;
flex-direction: column;
}
.solution-tabs {
display: none;
/* Hide desktop tabs */
}
} }
/* We might need to restructure the HTML to show all solutions stacked or use a mobile slider .hot-products-pagination .swiper-pagination-bullet {
width: 8px;
height: 8px;
background: #cbd5e1;
opacity: 1;
}
.hot-products-pagination .swiper-pagination-bullet-active {
background: #3b82f6;
width: 20px;
border-radius: 4px;
}
/* Hot Products - Card View Override */
.products-table thead {
display: none;
}
.products-table,
.products-table tbody,
.products-table tr,
.products-table td {
display: block;
width: 100%;
}
.products-table tr {
margin-bottom: 15px;
background: rgba(30, 41, 59, 0.4);
border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 12px;
padding: 15px;
}
.products-table td {
text-align: right;
padding: 8px 0;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(148, 163, 184, 0.05);
}
.products-table td:last-child {
border-bottom: none;
}
.products-table td::before {
content: attr(data-label);
float: left;
font-weight: 600;
color: rgba(148, 163, 184, 0.8);
}
/* Solution Wrapper - Stacked */
.solution-wrapper {
display: flex;
flex-direction: column;
}
.solution-tabs {
display: none;
/* Hide desktop tabs */
}
}
/* We might need to restructure the HTML to show all solutions stacked or use a mobile slider
For now, let's assume we stack them or show a simple list. For now, let's assume we stack them or show a simple list.
Actually, if HTML structure depends on clicks to show/hide, we need JS or CSS modification. Actually, if HTML structure depends on clicks to show/hide, we need JS or CSS modification.
Let's style the active one well first, or maybe show all? Let's style the active one well first, or maybe show all?