急急急
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;
font-size: 16px;
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 */
.products-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
width: 100%;
}
/* 按钮光晕效果 */
.solution-tab::before {
content: '';
position: absolute;
top: 50%;
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;
}
/* Swiper Wrapper 兼容性修正 */
.swiper-wrapper.products-grid {
box-sizing: border-box;
}
.solution-tab:hover {
color: #38BDF8;
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);
}
/* 产品卡片样式 */
.product-card {
background: #ffffff;
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:hover::before {
width: 200px;
height: 200px;
}
/* 按钮光晕效果 */
.solution-tab::before {
content: '';
position: absolute;
top: 50%;
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.active {
color: #ffffff;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border-color: transparent;
box-shadow: 0 4px 20px rgba(56, 189, 248, 0.4);
}
.solution-tab:hover {
color: #38BDF8;
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.active::before {
display: none;
}
.solution-tab:hover::before {
width: 200px;
height: 200px;
}
/* 下层:幻灯片容器 */
.solution-slider {
position: relative;
min-height: 450px;
overflow: hidden;
}
.solution-tab.active {
color: #ffffff;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border-color: transparent;
box-shadow: 0 4px 20px rgba(56, 189, 248, 0.4);
}
/* 单个幻灯片 */
.solution-slide {
position: absolute;
top: 0;
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 {
position: relative;
min-height: 450px;
overflow: hidden;
}
/* 幻灯片内容区域 */
.solution-content {
display: flex;
align-items: stretch;
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 {
position: absolute;
top: 0;
left: 0;
width: 100%;
opacity: 0;
transition: opacity 0.6s ease;
pointer-events: none;
z-index: 1;
}
/* 左侧文字区域 */
.solution-text {
flex: 1;
min-width: 0;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
}
/* 激活的幻灯片 */
.solution-slide.active {
position: relative;
opacity: 1;
pointer-events: auto;
z-index: 2;
}
.solution-text h3 {
font-size: 32px;
font-weight: 700;
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-content {
display: flex;
align-items: stretch;
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-subtitle {
font-size: 16px;
color: rgba(148, 163, 184, 0.9);
margin-bottom: 24px;
font-weight: 500;
}
/* 左侧文字区域 */
.solution-text {
flex: 1;
min-width: 0;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
}
.solution-desc {
color: rgba(203, 213, 225, 0.85);
line-height: 1.8;
margin-bottom: 32px;
}
.solution-text h3 {
font-size: 32px;
font-weight: 700;
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-desc p {
margin-bottom: 12px;
font-size: 15px;
}
.solution-subtitle {
font-size: 16px;
color: rgba(148, 163, 184, 0.9);
margin-bottom: 24px;
font-weight: 500;
}
.solution-desc p:last-child {
margin-bottom: 0;
}
.solution-desc {
color: rgba(203, 213, 225, 0.85);
line-height: 1.8;
margin-bottom: 32px;
}
/* 了解详情链接 */
.solution-link {
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-desc p {
margin-bottom: 12px;
font-size: 15px;
}
.solution-link:hover {
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(56, 189, 248, 0.5);
}
.solution-desc p:last-child {
margin-bottom: 0;
}
.solution-link .icon-arrow-right {
transition: transform 0.3s ease;
}
/* 了解详情链接 */
.solution-link {
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 .icon-arrow-right {
transform: translateX(5px);
}
.solution-link:hover {
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(56, 189, 248, 0.5);
}
/* 右侧图片区域 */
.solution-image {
flex-shrink: 0;
width: 600px;
position: relative;
overflow: hidden;
border-radius: 0;
background: rgba(15, 23, 42, 0.5);
}
.solution-link .icon-arrow-right {
transition: transform 0.3s ease;
}
.solution-image img {
width: 100%;
height: 100%;
object-fit: cover;
filter: brightness(1.1);
transition: transform 0.5s ease;
}
.solution-link:hover .icon-arrow-right {
transform: translateX(5px);
}
.solution-slide.active .solution-image img {
transform: scale(1.05);
}
/* 右侧图片区域 */
.solution-image {
flex-shrink: 0;
width: 600px;
position: relative;
overflow: hidden;
border-radius: 0;
background: rgba(15, 23, 42, 0.5);
}
/* 图片光晕效果 */
.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-image img {
width: 100%;
height: 100%;
object-fit: cover;
filter: brightness(1.1);
transition: transform 0.5s ease;
}
.solution-slide.active .solution-image::after {
opacity: 1;
}
.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 {
background: linear-gradient(180deg, #020617 0%, #0F172A 100%);
}
/* 移动端侧边栏背景优化 */
#index .mobile-sidebar-content {
background: linear-gradient(180deg, #020617 0%, #0F172A 100%);
}
#index .mobile-sidebar-header {
background: rgba(15, 23, 42, 0.95);
border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}
#index .mobile-sidebar-header {
background: rgba(15, 23, 42, 0.95);
border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}
#index .mobile-nav-link {
color: #E5E7EB;
transition: all 0.3s ease;
}
#index .mobile-nav-link {
color: #E5E7EB;
transition: all 0.3s ease;
}
#index .mobile-nav-link:hover {
color: #38BDF8;
}
#index .mobile-nav-link:hover {
color: #38BDF8;
}
#index .mobile-user-info {
background: rgba(30, 41, 59, 0.6);
border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 8px;
padding: 12px;
margin-bottom: 12px;
}
#index .mobile-user-info {
background: rgba(30, 41, 59, 0.6);
border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 8px;
padding: 12px;
margin-bottom: 12px;
}
#index .mobile-user-avatar {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.3);
}
#index .mobile-user-avatar {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.3);
}
#index .mobile-user-name {
color: #E5E7EB;
}
#index .mobile-user-name {
color: #E5E7EB;
}
/* 返回顶部按钮优化 */
#index .back-top-wrapper {
background: rgba(56, 189, 248, 0.15);
border: 1px solid rgba(56, 189, 248, 0.3);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
transition: all 0.3s ease;
}
/* 返回顶部按钮优化 */
#index .back-top-wrapper {
background: rgba(56, 189, 248, 0.15);
border: 1px solid rgba(56, 189, 248, 0.3);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
transition: all 0.3s ease;
}
#index .back-top-wrapper:hover {
background: rgba(56, 189, 248, 0.3);
box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
}
#index .back-top-wrapper:hover {
background: rgba(56, 189, 248, 0.3);
box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
}
/* Mobile Overrides for Index Page */
/* 注意:移动端 banner 样式已在第 698 行定义,这里不要重复设置 */
/* Mobile Overrides for Index Page */
/* 注意:移动端 banner 样式已在第 698 行定义,这里不要重复设置 */
/*
/*
以下样式已被注释,因为与第 698 行的移动端样式冲突
导致 swiper-slide 高度变成 400px 而不是 200px
@@ -5019,11 +4999,11 @@ html {
}
/* Feature Cards (Banner-S) */
/* 注意banner-list 的桌面样式已在第 831 行定义 (flex布局4列)
/* 注意banner-list 的桌面样式已在第 831 行定义 (flex布局4列)
移动端样式在第 945 行定义 (grid布局2列)
这里的重复样式已被移除以避免冲突 */
/* 以下样式已注释因为会覆盖桌面端的flex布局
/* 以下样式已注释因为会覆盖桌面端的flex布局
.banner .banner-s {
margin-top: 0;
padding-top: 0;
@@ -5044,83 +5024,83 @@ html {
}
*/
/* Mobile Overrides Group */
@media (max-width: 768px) {
/* Mobile Overrides Group */
@media (max-width: 768px) {
/* Hot Products - Mobile Slider */
.hot-products-pagination {
position: relative;
margin-top: 20px;
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 */
}
/* Hot Products - Mobile Slider */
.hot-products-pagination {
position: relative;
margin-top: 20px;
bottom: 0 !important;
}
/* 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.
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?