Files
BlackFruit-UI/css/index.css
yiqiu 87871653c1
All checks were successful
continuous-integration/drone/push Build is passing
提取index移动样式代码
2025-12-26 15:48:14 +08:00

2646 lines
54 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ============================================
首页专属样式 - 整体深色科技风格
============================================ */
/* CSS 变量:统一的容器边距 */
#index {
--container-max-width: 1440px;
--container-padding-x: 20px;
}
/* 首页整体背景 - 统一深色,避免白色闪烁 */
#index {
background: linear-gradient(180deg, #020617 0%, #0F172A 50%, #020617 100%);
min-height: 100vh;
}
/* 首页 section-content 统一左右边距 */
#index .section-content {
padding-left: var(--container-padding-x);
padding-right: var(--container-padding-x);
}
/* ============================================
Banner 区域
============================================ */
/* banner */
.banner-cont {
position: relative;
width: 100%;
/* height: 200px; --- 移除固定高度,让内容自适应 --- */
overflow: hidden;
z-index: 1;
}
/* banner 轮播容器 */
.banner-cont .swiper-slide {
position: relative;
/* 桌面端高度 */
height: 650px;
width: 100%;
/* 深色科技渐变背景 */
background:
radial-gradient(ellipse at 20% 30%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
radial-gradient(ellipse at 80% 70%, rgba(56, 189, 248, 0.12) 0%, transparent 50%),
linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #0F172A 100%);
overflow: hidden;
/* 背景图设置 */
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
/* 多重背景层叠:先渐变遮罩,再背景图 */
background-blend-mode: normal, normal, normal;
z-index: 1;
}
/* 深色遮罩层(静态,不移动) */
.banner-cont .swiper-slide::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
/* 深色渐变遮罩,让文字更清晰 */
background: linear-gradient(90deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.5) 50%, rgba(15, 23, 42, 0.3) 100%);
pointer-events: none;
z-index: 2;
}
/* 动态网格背景 - 已禁用(视觉干扰)
@keyframes gridMove {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(50px, 50px);
}
}
*/
/* 光晕装饰效果 - 已禁用(视觉干扰)
.banner-cont .swiper-slide::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(56, 189, 248, 0.08) 0%, transparent 70%);
animation: glow 8s ease-in-out infinite;
pointer-events: none;
}
@keyframes glow {
0%, 100% {
opacity: 0.3;
transform: scale(1);
}
50% {
opacity: 0.6;
transform: scale(1.1);
}
}
*/
/* 原 img 标签样式已废弃,现使用背景图
.banner-cont .swiper-slide .img {
display: block;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 55%;
height: auto;
max-height: 85%;
object-fit: contain;
opacity: 0.95;
filter: drop-shadow(0 20px 60px rgba(56, 189, 248, 0.3));
animation: floatImage 6s ease-in-out infinite;
}
@keyframes floatImage {
0%, 100% {
transform: translateY(-50%) translateX(0);
}
50% {
transform: translateY(-50%) translateX(-20px);
}
}
*/
/* 轮播文字层:使用统一的容器系统 */
.banner-cont .swiper-slide .section-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
max-width: var(--container-max-width);
padding: 0 var(--container-padding-x);
box-sizing: border-box;
z-index: 3;
text-align: left;
}
/* 轮播切换时的动画效果 */
.banner-cont .swiper-slide-active .banner-tags {
animation: fadeInLeft 0.8s ease-out 0.1s both;
}
.banner-cont .swiper-slide-active h1 {
animation: fadeInLeft 0.8s ease-out 0.2s both;
}
.banner-cont .swiper-slide-active .banner-desc {
animation: fadeInLeft 0.8s ease-out 0.3s both;
}
.banner-cont .swiper-slide-active .btn2 {
animation: fadeInLeft 0.8s ease-out 0.4s both;
}
/* 非激活状态的slide内容透明 */
.banner-cont .swiper-slide:not(.swiper-slide-active) .banner-tags,
.banner-cont .swiper-slide:not(.swiper-slide-active) h1,
.banner-cont .swiper-slide:not(.swiper-slide-active) .banner-desc,
.banner-cont .swiper-slide:not(.swiper-slide-active) .btn2 {
opacity: 0;
transform: translateX(-50px);
}
/* 文字内容容器,实际的左对齐内容 */
.banner-cont .swiper-slide .section-content>* {
max-width: 650px;
}
/* 标题和标签的容器 */
.banner-cont .swiper-slide .section-content .title-wrapper {
display: inline-block;
max-width: 650px;
}
.banner-cont .swiper-slide h1 {
font-size: 58px;
line-height: 1.2;
font-weight: 700;
color: #FFFFFF;
letter-spacing: -1px;
margin-bottom: 0;
display: inline-block;
width: auto;
position: relative;
background: linear-gradient(120deg,
#FFFFFF 0%,
#FFFFFF 40%,
#E0F2FE 48%,
#BFDBFE 50%,
#E0F2FE 52%,
#FFFFFF 60%,
#FFFFFF 100%);
background-size: 200% 100%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
animation: shine 6s linear infinite;
filter: drop-shadow(0 0 20px rgba(191, 219, 254, 0.8));
}
@keyframes shine {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translateX(-50px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.banner-cont .banner-desc {
font-size: 17px;
margin-top: 24px;
margin-bottom: 40px;
max-width: 580px;
color: rgba(226, 232, 240, 0.85);
line-height: 1.8;
}
/* 轮播文案标签(标题上方的平行四边形标签) */
.banner-tags {
margin-bottom: 16px;
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end;
}
.banner-tag-pill {
display: inline-flex;
align-items: center;
padding: 6px 16px;
font-size: 12px;
font-weight: 600;
color: #FFFFFF;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border: none;
position: relative;
white-space: nowrap;
transform: skewX(-10deg);
box-shadow: 0 4px 12px rgba(56, 189, 248, 0.4);
transition: all 0.3s ease;
}
.banner-tag-pill span {
display: inline-block;
transform: skewX(10deg);
}
/* 标签发光边框 */
.banner-tag-pill::before {
content: '';
position: absolute;
top: -1px;
left: -1px;
right: -1px;
bottom: -1px;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
z-index: -1;
filter: blur(4px);
opacity: 0;
transition: opacity 0.3s ease;
}
.banner-tag-pill:hover {
transform: skewX(-10deg) translateY(-2px);
box-shadow: 0 6px 20px rgba(56, 189, 248, 0.6);
}
.banner-tag-pill:hover::before {
opacity: 0.8;
}
/* 按钮优化 - 科技感渐变发光效果 */
.banner-cont .btn2 {
position: relative;
overflow: hidden;
font-size: 16px;
font-weight: 600;
padding: 14px 48px;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 12px 40px rgba(56, 189, 248, 0.4);
transition: all 0.3s ease;
display: inline-block;
}
.banner-cont .btn2::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
transform: rotate(45deg);
transition: all 0.6s ease;
}
.banner-cont .btn2:hover::before {
left: 100%;
}
.banner-cont .btn2:hover {
transform: translateY(-2px);
box-shadow: 0 16px 48px rgba(56, 189, 248, 0.6);
}
/* 分页器容器 - 强制显示,调整位置避免被 banner-s 遮挡 */
.banner-cont .swiper-pagination {
position: absolute !important;
bottom: 100px !important;
left: 50% !important;
transform: translateX(-50%) !important;
z-index: 100 !important;
display: flex !important;
gap: 12px !important;
width: auto !important;
height: auto !important;
visibility: visible !important;
opacity: 1 !important;
pointer-events: auto !important;
}
/* 分页器优化 - 带播放进度条 */
.banner-cont .swiper-pagination-bullet {
width: 60px !important;
height: 4px !important;
background: rgba(148, 163, 184, 0.3) !important;
opacity: 1 !important;
border-radius: 2px !important;
transition: all 0.3s ease !important;
position: relative !important;
overflow: hidden !important;
margin: 0 !important;
flex-shrink: 0 !important;
visibility: visible !important;
display: block !important;
}
.banner-cont .swiper-pagination-bullet-active {
background: rgba(148, 163, 184, 0.3) !important;
box-shadow: 0 2px 10px rgba(56, 189, 248, 0.6) !important;
}
/* 进度条填充效果 */
.banner-cont .swiper-pagination-bullet-active::before {
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 0;
background: linear-gradient(90deg, #38BDF8 0%, #6366F1 100%);
border-radius: 2px;
}
/* 播放进度动画 */
.banner-cont .swiper-pagination-bullet-active.progress-active::before {
animation: progressBar 5s linear forwards;
}
@keyframes progressBar {
from {
width: 0;
}
to {
width: 100%;
}
}
/* ============================================
移动端 Banner 优化
============================================ */
/* 调整 banner 高度 - 移动端优化 */
.banner-cont .swiper-slide {
height: 200px !important;
/* 强制设置高度 */
padding-top: 0 !important;
/* 移除顶部内边距,让内容居中 */
margin-top: 0;
/* Mobile Background Optimization */
/* Center the image and cover the area */
background-position: center bottom !important;
background-size: cover !important;
/* Force no repeat */
background-repeat: no-repeat !important;
}
/* Ensure banner container connects seamlessly - FORCE REMOVE ALL PADDING */
.banner-cont {
margin-top: 0 !important;
padding: 0 !important;
/* Override desktop padding: 25px 0 */
height: 200px !important;
/* 移动端固定高度 */
}
/* 移动端遮罩层更轻 */
.banner-cont .swiper-slide::before {
background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(224, 242, 254, 0.9) 100%);
}
/* 移动端文字内容居中对齐 - 覆盖桌面端绝对定位 */
.banner-cont .swiper-slide .section-content {
position: relative !important;
/* 覆盖桌面端的 absolute */
top: auto !important;
left: auto !important;
transform: none !important;
/* 移除桌面端的 transform */
text-align: center;
padding: 0 20px;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
/* 移动端标题样式 - 白色,增大字号 */
.banner-cont .swiper-slide h1 {
font-size: 42px;
/* Increased from 36px */
line-height: 1.1;
margin-bottom: 10px;
color: #ffffff !important;
/* White text */
background: none !important;
-webkit-text-fill-color: #ffffff !important;
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
filter: none;
}
/* 移动端标签居中 */
.banner-tags {
justify-content: center;
margin-bottom: 24px;
}
.banner-tag-pill {
font-size: 14px;
/* Increased from 13px */
padding: 7px 18px;
/* Larger touch target */
color: #ffffff !important;
/* White text */
}
/* 移动端描述文字 - 白色,增大字号 */
.banner-cont .banner-desc {
font-size: 18px;
/* Increased from 17px */
line-height: 1.4;
color: #ffffff !important;
/* White text */
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
/* Ensure readability */
margin-top: 0;
margin-bottom: 20px;
max-width: 95%;
}
/* 移动端按钮样式 - 进一步增大 */
.banner-cont .btn2 {
font-size: 20px;
/* Increased from 18px */
padding: 12px 40px;
/* Adjusted for smaller height */
border-radius: 50px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
/* 移动端分页器位置调整 */
.banner-cont .swiper-pagination {
bottom: 20px !important;
}
.banner-cont .swiper-pagination-bullet {
width: 40px !important;
height: 4px !important;
}
}
/* Banner下方快速入口卡片 - 独立毛玻璃卡片设计 */
.banner .banner-s {
margin-top: -80px;
position: relative;
z-index: 10;
padding: 20px 0;
/* 移除整体背景,让卡片独立显示 */
background: transparent;
}
/* 移动端调整 banner-s 位置,避免遮挡 */
/* 调整 banner-s 区域 */
.banner .banner-s {
margin-top: -60px;
padding: 16px 0 24px;
}
.banner .banner-s .banner-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
padding: 0 16px;
}
/* 移动端卡片样式 - 轻量白色主题,增加内边距 */
.banner-s .banner-list .banner-item {
flex: none;
min-width: auto;
max-width: none;
padding: 20px;
flex-direction: column;
align-items: flex-start;
gap: 10px;
/* 轻量背景 */
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
/* 轻量边框和圆角 */
border: 1px solid rgba(226, 232, 240, 0.8);
border-radius: 12px;
/* 轻量阴影 */
box-shadow:
0 2px 8px rgba(15, 23, 42, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
/* 移动端卡片图标 */
.banner-s .banner-list .banner-item .banner-item-icon {
width: 44px;
height: 44px;
}
/* 移动端卡片悬停效果 */
.banner-s .banner-list .banner-item:hover {
transform: translateY(-3px);
border-color: rgba(56, 189, 248, 0.3);
background: rgba(255, 255, 255, 1);
box-shadow:
0 4px 16px rgba(15, 23, 42, 0.12),
inset 0 1px 0 rgba(255, 255, 255, 1);
}
/* 移动端标题文字 - 深色,增大字号 */
.banner .banner-s .banner-list .banner-item h5 {
color: #0f172a;
font-size: 17px;
font-weight: 600;
line-height: 1.3;
}
.banner .banner-s .banner-list .banner-item h5 .highlight {
color: #0ea5e9;
}
.banner .banner-s .banner-list .banner-item:hover h5 {
color: #0ea5e9;
}
/* 移动端描述文字 - 深色,增大字号 */
.banner .banner-s .banner-list .banner-item .title-desc {
color: #64748b;
font-size: 13px;
line-height: 1.5;
}
/* 移动端光晕效果调整 */
.banner-s .banner-list .banner-item::before {
display: none;
}
}
/* ============================================
热销产品展示区域 - 卡片式布局
============================================ */
.hot-products {
margin-top: -100px;
padding: 40px 0;
background:
radial-gradient(circle at 50% 0%, rgba(56, 189, 248, 0.05) 0%, transparent 60%),
rgba(15, 23, 42, 0.6);
border: 1px solid rgba(148, 163, 184, 0.15);
border-top: none;
border-radius: 0 0 16px 16px;
backdrop-filter: blur(10px);
position: relative;
z-index: 1;
}
.hot-products-title {
text-align: center;
margin-bottom: 30px;
}
.hot-products-title h3 {
font-size: 28px;
font-weight: 600;
color: #F9FAFB;
margin-bottom: 10px;
background: linear-gradient(135deg, #FFFFFF 0%, #38BDF8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hot-products-title .subtitle {
font-size: 14px;
color: rgba(203, 213, 225, 0.8);
}
/* 产品网格容器 - 移动优先 */
.products-grid {
display: grid;
grid-template-columns: 1fr;
gap: 16px;
padding: 0 20px;
}
/* 平板及以上2列 */
@media (min-width: 768px) {
.products-grid {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
}
/* 桌面端3列 */
@media (min-width: 1200px) {
.products-grid {
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
}
/* 超大屏幕4列 */
@media (min-width: 1600px) {
.products-grid {
grid-template-columns: repeat(4, 1fr);
}
}
/* 产品卡片 - 适配深色主题的玻璃态设计 */
.product-card {
background: rgba(30, 41, 59, 0.7);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(148, 163, 184, 0.2);
border-radius: 12px;
padding: 20px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow:
0 4px 16px rgba(15, 23, 42, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/* 隐藏移动端的查看更多按钮 */
.products-more-btn-wrapper {
display: none;
}
.product-card:hover {
transform: translateY(-4px);
border-color: rgba(56, 189, 248, 0.4);
background: rgba(30, 41, 59, 0.85);
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.6),
0 0 20px rgba(56, 189, 248, 0.15),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
/* 卡片头部 */
.product-card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 12px;
margin-bottom: 4px;
}
.product-name {
font-size: 18px;
font-weight: 600;
color: #F9FAFB;
margin: 0;
flex: 1;
line-height: 1.3;
}
/* 产品徽章容器 */
.product-badges {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: flex-start;
justify-content: flex-end;
}
/* 产品徽章 */
.product-badge {
display: inline-block;
padding: 3px 8px;
font-size: 11px;
font-weight: 500;
border-radius: 4px;
white-space: nowrap;
line-height: 1.2;
}
.badge-hot {
background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
color: #FFFFFF;
}
.badge-recommend {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
color: #FFFFFF;
}
.badge-promo {
background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
color: #FFFFFF;
}
/* 产品描述 */
.product-desc {
font-size: 13px;
color: rgba(203, 213, 225, 0.85);
line-height: 1.6;
margin: 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
min-height: 38px;
}
/* 产品规格 */
.product-specs {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
font-size: 12px;
color: rgba(148, 163, 184, 0.9);
padding: 8px 0;
border-top: 1px solid rgba(148, 163, 184, 0.1);
border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}
.spec-item {
white-space: nowrap;
}
.spec-divider {
color: rgba(148, 163, 184, 0.4);
user-select: none;
}
/* 产品价格区域 */
.product-pricing {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin: 8px 0;
flex-wrap: wrap;
gap: 8px;
}
.price-main {
display: flex;
align-items: baseline;
gap: 4px;
}
.price-currency {
font-size: 18px;
font-weight: 600;
color: #EF4444;
}
.price-value {
font-size: 32px;
font-weight: 700;
color: #EF4444;
line-height: 1;
}
.price-original {
font-size: 13px;
color: rgba(148, 163, 184, 0.7);
text-decoration: line-through;
margin-left: 4px;
}
.price-limit {
font-size: 12px;
color: rgba(203, 213, 225, 0.7);
white-space: nowrap;
}
/* 购买按钮 */
.product-buy-btn {
display: block;
width: 100%;
padding: 12px 24px;
font-size: 14px;
font-weight: 600;
color: #FFFFFF;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border: none;
border-radius: 8px;
text-align: center;
text-decoration: none;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 8px;
box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}
.product-buy-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(56, 189, 248, 0.5);
background: linear-gradient(135deg, #6366F1 0%, #38BDF8 100%);
}
.product-buy-btn:active {
transform: translateY(0);
box-shadow: 0 2px 8px rgba(56, 189, 248, 0.4);
}
/* 移动端优化 */
/* ===== 导航栏 - 极简设计 ===== */
#index .nav-header {
padding: 0 8px;
height: 50px !important;
display: flex;
align-items: stretch;
overflow: hidden;
}
#index .nav-header .nav-left {
display: flex;
align-items: stretch;
flex: 1;
}
#index .nav-header .nav-right {
display: flex !important;
align-items: stretch !important;
height: 100% !important;
flex-wrap: nowrap !important;
flex-shrink: 0;
min-height: 50px;
}
#index .nav-menu {
display: none;
/* 移动端隐藏主导航 */
}
#index .nav-header .nav-left .nav-icon {
display: flex;
align-items: center;
height: 100%;
}
#index .nav-header .nav-left .nav-icon img {
width: 100px;
height: 24px;
margin-right: 0;
}
#index .nav-right {
display: flex !important;
align-items: stretch !important;
justify-content: flex-end;
gap: 6px;
height: 100% !important;
flex-shrink: 0;
min-height: 50px;
}
#index .nav-right .nav-text-link {
display: none;
}
#index .nav-right .nav-divider {
display: none;
}
/* 移动端隐藏登录按钮和分隔符,只显示注册按钮 */
#index .no-login {
display: flex !important;
gap: 0 !important;
align-items: stretch;
height: 100% !important;
order: 4;
}
#index .no-login.nav-desktop-link {
display: flex !important;
}
#index .no-login .nav-text-link,
#index .no-login .nav-divider {
display: none !important;
}
#index .no-login .btn.btn-normal#registBtn {
padding: 0 10px !important;
font-size: 10px !important;
min-width: auto !important;
height: 100% !important;
line-height: 1 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
margin: 0 !important;
border: none !important;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
flex-shrink: 0 !important;
box-sizing: border-box !important;
}
#index .no-login .btn.btn-normal#registBtn::before {
width: 12px !important;
height: 12px !important;
}
/* 汉堡菜单按钮样式 - 放在左侧order: 3 */
#index .mobile-menu-toggle {
display: flex !important;
gap: 0;
cursor: pointer;
width: 24px;
height: 24px;
justify-content: center;
align-items: center;
margin-right: 0;
order: 3;
padding: 0;
background: none;
border: none;
}
#index .mobile-menu-toggle .mobile-menu-icon {
width: 100%;
height: 100%;
display: block;
}
/* ===== Banner 区域 - 大幅缩小 ===== */
.banner-cont .swiper-slide {
height: 100vh !important;
min-height: 350px;
}
.banner-cont .swiper-slide h1 {
font-size: 24px !important;
line-height: 1.3;
margin-bottom: 8px;
}
.banner-cont .banner-desc {
font-size: 12px !important;
margin-top: 10px !important;
margin-bottom: 20px !important;
line-height: 1.5;
max-height: 60px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.banner-tag-pill {
padding: 3px 10px;
font-size: 10px;
}
.banner-cont .btn2 {
padding: 8px 20px !important;
font-size: 12px !important;
}
/* 调整进度条位置到底部 */
.banner-cont .swiper-pagination {
bottom: 12px !important;
}
.banner-cont .swiper-pagination-bullet {
width: 45px !important;
}
/* ===== Banner 快速入口 - 四宫格布局2列×2行 ===== */
.banner .banner-s {
margin-top: 12px;
padding: 10px 6px;
background: transparent;
}
/* 移动端 banner-list 网格布局 */
/* ===== 导航栏 - 超紧凑 ===== */
#index .nav-header {
padding: 0 10px;
height: 48px !important;
display: flex;
align-items: stretch;
overflow: hidden;
}
#index .nav-header .nav-left {
display: flex;
align-items: stretch;
flex: 1;
}
#index .nav-header .nav-right {
display: flex !important;
align-items: stretch !important;
height: 100% !important;
flex-shrink: 0;
min-height: 48px;
}
#index .nav-header .nav-left .nav-icon {
display: flex;
align-items: center;
height: 100%;
}
#index .nav-header .nav-left .nav-icon img {
width: 90px;
height: 22px;
}
#index .nav-right {
display: flex !important;
align-items: stretch !important;
justify-content: flex-end;
gap: 4px;
height: 100% !important;
flex-shrink: 0;
min-height: 48px;
}
#index .nav-right .nav-text-link {
display: none;
}
#index .nav-right .nav-divider {
display: none;
}
/* 移动端隐藏登录按钮和分隔符,只显示注册按钮 */
#index .no-login {
display: flex !important;
gap: 0 !important;
align-items: stretch;
height: 100% !important;
order: 4;
}
#index .no-login.nav-desktop-link {
display: flex !important;
}
#index .no-login .nav-text-link,
#index .no-login .nav-divider {
display: none !important;
}
/* 调整移动端注册按钮样式 - 长方形无圆角,撑满导航栏高度 */
#index .no-login .btn.btn-normal#registBtn {
padding: 0 25px !important;
font-size: 12px !important;
min-width: auto !important;
height: 100% !important;
line-height: 1 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
margin: 0 !important;
border: none !important;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
flex-shrink: 0 !important;
box-sizing: border-box !important;
gap: 2px !important;
}
/* 移动端注册按钮图标显示 */
#index .no-login .btn.btn-normal#registBtn .regist-icon {
display: block;
width: 15px;
height: 15px;
margin-right: 0 !important;
}
/* 移动端注册按钮图标隐藏 - 旧样式移除 */
#index .no-login .btn.btn-normal#registBtn::before {
display: none;
}
/* 汉堡菜单按钮样式 - 放在左侧order: 3 */
/* 汉堡菜单按钮样式 - 放在左侧order: 3 */
#index .mobile-menu-toggle {
display: flex !important;
gap: 0;
cursor: pointer;
width: 24px;
height: 24px;
justify-content: center;
align-items: center;
margin-right: 0;
order: 3;
padding: 0;
background: none;
border: none;
}
#index .mobile-menu-toggle .mobile-menu-icon {
width: 100%;
height: 100%;
display: block;
}
/* ===== Banner ===== */
.banner-cont .swiper-slide {
height: 100vh !important;
min-height: 200px;
}
.banner-cont .swiper-slide h1 {
font-size: 20px !important;
}
.banner-cont .banner-desc {
font-size: 11px !important;
margin-top: 8px !important;
margin-bottom: 16px !important;
-webkit-line-clamp: 2;
}
.banner-tag-pill {
font-size: 9px;
padding: 2px 8px;
}
.banner-cont .btn2 {
padding: 6px 16px !important;
font-size: 11px !important;
}
/* 调整进度条位置到底部 */
.banner-cont .swiper-pagination {
bottom: 12px !important;
}
.banner-cont .swiper-pagination-bullet {
width: 40px !important;
}
/* ===== 快速入口 - 精简 ===== */
.banner .banner-s {
margin-top: 10px;
padding: 10px 6px;
}
.banner-s .banner-list .banner-item {
padding: 10px 12px !important;
min-height: 85px !important;
}
.banner-s .banner-list .banner-item .banner-item-icon {
width: 30px;
height: 30px;
}
.banner-s .banner-list .banner-item h5 {
font-size: 11px !important;
}
.banner-s .banner-list .banner-item .title-desc {
font-size: 9px !important;
}
/* ===== 热销产品 - 紧凑 ===== */
.hot-products {
margin-top: -40px;
padding: 16px 0 25px !important;
}
.hot-products-title h3 {
font-size: 18px;
}
.hot-products-title .subtitle {
font-size: 10px;
}
.products-table-wrapper {
padding: 0 10px;
}
.products-table tbody tr {
margin-bottom: 10px;
padding: 12px;
}
.products-table tbody td {
padding: 6px 0 6px 75px;
font-size: 11px;
}
.products-table tbody td::before {
left: 12px;
font-size: 10px;
}
.products-table .product-name {
font-size: 12px;
}
.products-table .product-price {
font-size: 15px;
}
.products-table .btn-buy {
padding: 5px 14px;
font-size: 10px;
}
/* ===== Section - 极简间距 ===== */
.section {
padding: 25px 0 !important;
}
.section-content {
padding: 25px 10px !important;
}
.section-title h2 {
font-size: 19px;
}
.section-title .section-desc {
font-size: 11px;
}
.section-title h2::after {
width: 30px;
}
/* ===== 解决方案 - 最小化 ===== */
.solution-wrapper {
margin-top: 16px;
}
.solution-tabs {
gap: 5px;
flex-wrap: wrap;
}
.solution-tab {
padding: 5px 10px;
font-size: 10px;
flex: 0 1 auto;
}
.solution-content {
padding: 14px !important;
gap: 16px;
}
.solution-text h3 {
font-size: 16px;
}
.solution-subtitle {
font-size: 10px;
}
.solution-desc p {
font-size: 10px;
-webkit-line-clamp: 1;
/* 小屏只显示1行 */
}
.solution-link {
padding: 7px 16px;
font-size: 10px;
}
.solution-image {
height: 150px;
}
/* ===== 基础设施 - 极简 ===== */
.section-base {
padding: 20px 0 !important;
}
.base .base-content {
margin-top: 16px;
margin-bottom: 25px;
}
.base .base-content .fboxRow {
margin-bottom: 10px;
}
.base .base-content h2 {
font-size: 28px;
}
.base .base-content .title-desc {
font-size: 10px;
}
.section-base .base img {
width: 100%;
max-width: 350px;
margin: 16px auto 0;
}
/* ===== 荣誉 - 简化 ===== */
.honor-section {
margin-top: 25px;
padding: 20px 0;
}
.honor-title h3 {
font-size: 18px;
}
.honor-list {
gap: 10px;
}
.honor-item {
padding: 16px 12px;
}
.honor-icon {
width: 70px;
height: 70px;
margin-bottom: 10px;
}
.honor-icon img {
width: 45px;
height: 45px;
}
.honor-name {
font-size: 12px;
}
/* ===== 新闻 - 紧凑 ===== */
.section.news {
padding: 20px 0 !important;
}
.news-content {
margin-top: 16px;
gap: 16px;
}
.news-content .news-cont {
padding: 14px;
}
.news-content .news-head .news-title {
font-size: 15px;
}
.news-content .news-head .news-more {
font-size: 10px;
}
.news-content .news-item {
line-height: 32px;
}
.news-content .news-item .number {
min-width: 16px;
height: 16px;
font-size: 10px;
margin-right: 6px;
}
.news-content .news-item .title {
font-size: 11px;
}
.news-content .news-item .time {
font-size: 9px;
min-width: 65px;
}
}
/* 小屏手机优化480px */
/* ===== 导航栏 ===== */
#index .nav-header {
height: 46px !important;
}
#index .nav-header .nav-left .nav-icon img {
width: 75px;
height: 17px;
}
#index .nav-right .nav-text-link {
font-size: 10px;
padding: 0 5px;
}
/* ===== Banner ===== */
.banner-cont .swiper-slide {
height: 220px !important;
}
.banner-cont .swiper-slide h1 {
font-size: 18px !important;
}
.banner-cont .banner-desc {
font-size: 11px !important;
-webkit-line-clamp: 1;
}
/* ===== 快速入口 - 四宫格中等版 ===== */
.banner .banner-s {
margin-top: 16px;
padding: 8px 8px;
}
.banner .banner-s .banner-list {
gap: 6px !important;
display: grid !important;
grid-template-columns: repeat(2, 1fr) !important;
width: 100% !important;
padding: 0 !important;
}
.banner-s .banner-list .banner-item {
padding: 8px 10px !important;
flex: none !important;
display: flex !important;
flex-direction: row !important;
align-items: center !important;
text-align: left !important;
min-height: 70px !important;
justify-content: flex-start !important;
border-radius: 0 !important;
width: auto !important;
min-width: auto !important;
max-width: none !important;
background: rgba(15, 23, 42, 0.6) !important;
border: 1px solid rgba(148, 163, 184, 0.15) !important;
}
.banner-s .banner-list .banner-item .banner-item-icon {
width: 28px;
height: 28px;
margin-bottom: 0;
margin-right: 8px;
flex-shrink: 0;
}
.banner-s .banner-list .banner-item .banner-item-content {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 3px;
flex: 1;
min-width: 0;
}
.banner-s .banner-list .banner-item h5 {
font-size: 11px !important;
margin-bottom: 0 !important;
line-height: 1.2;
color: #E5E7EB;
}
.banner-s .banner-list .banner-item .title-desc {
font-size: 9px !important;
line-height: 1.2;
margin: 0 !important;
color: rgba(203, 213, 225, 0.8);
}
/* ===== 解决方案 ===== */
.solution-content {
padding: 12px 10px !important;
}
.solution-text h3 {
font-size: 15px;
}
.solution-image {
height: 110px;
}
}
/* 超小屏适配320px */
/* ===== 导航栏 - 极限压缩 ===== */
#index .nav-header {
padding: 0 8px;
height: 44px !important;
display: flex;
align-items: stretch;
overflow: hidden;
}
#index .nav-header .nav-left {
display: flex;
align-items: stretch;
flex: 1;
}
#index .nav-header .nav-right {
display: flex !important;
align-items: stretch !important;
height: 100% !important;
flex-shrink: 0;
min-height: 44px;
}
#index .nav-header .nav-left .nav-icon {
display: flex;
align-items: center;
height: 100%;
}
#index .nav-header .nav-left .nav-icon img {
width: 80px;
height: 20px;
}
#index .nav-right .nav-text-link {
display: none;
}
#index .nav-right .nav-divider {
display: none;
}
#index .nav-right {
display: flex !important;
align-items: stretch !important;
justify-content: flex-end;
gap: 4px;
height: 100% !important;
flex-shrink: 0;
min-height: 44px;
}
/* 移动端隐藏登录按钮和分隔符,只显示注册按钮 */
#index .no-login {
display: flex !important;
gap: 0 !important;
align-items: stretch;
height: 100% !important;
order: 4;
}
#index .no-login.nav-desktop-link {
display: flex !important;
}
#index .no-login .nav-text-link,
#index .no-login .nav-divider {
display: none !important;
}
/* 调整移动端注册按钮样式 - 长方形无圆角,撑满导航栏高度 */
#index .no-login .btn.btn-normal#registBtn {
padding: 0 35px !important;
font-size: 9px !important;
min-width: auto !important;
height: 100% !important;
line-height: 1 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
margin: 0 !important;
border: none !important;
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%) !important;
flex-shrink: 0 !important;
box-sizing: border-box !important;
gap: 2px !important;
}
/* 移动端注册按钮图标显示 */
#index .no-login .btn.btn-normal#registBtn .regist-icon {
display: block;
width: 10px;
height: 10px;
margin-right: 0 !important;
}
/* 移动端注册按钮图标隐藏 - 旧样式移除 */
#index .no-login .btn.btn-normal#registBtn::before {
display: none;
}
/* 汉堡菜单按钮样式 - 放在左侧order: 3 */
/* 汉堡菜单按钮样式 - 放在左侧order: 3 */
#index .mobile-menu-toggle {
display: flex !important;
gap: 0;
cursor: pointer;
width: 20px;
height: 20px;
justify-content: center;
align-items: center;
margin-right: 0;
order: 3;
padding: 0;
background: none;
border: none;
}
#index .mobile-menu-toggle .mobile-menu-icon {
width: 100%;
height: 100%;
display: block;
}
/* ===== Banner - 极简 ===== */
.banner-cont .swiper-slide {
height: 100vh !important;
min-height: 300px;
}
.banner-cont .swiper-slide h1 {
font-size: 16px !important;
line-height: 1.2;
margin-bottom: 6px;
}
.banner-cont .banner-desc {
font-size: 10px !important;
margin-top: 6px !important;
margin-bottom: 12px !important;
-webkit-line-clamp: 1;
max-height: 20px;
}
.banner-tag-pill {
font-size: 8px;
padding: 2px 6px;
}
.banner-cont .btn2 {
padding: 5px 14px !important;
font-size: 10px !important;
}
.banner-cont .swiper-pagination {
bottom: 12px !important;
}
/* ===== 快速入口 - 四宫格极简版 ===== */
.banner .banner-s {
margin-top: 12px;
padding: 8px 6px;
}
.banner .banner-s .banner-list {
gap: 6px !important;
padding: 0 !important;
display: grid !important;
grid-template-columns: repeat(2, 1fr) !important;
width: 100% !important;
}
.banner-s .banner-list .banner-item {
padding: 10px 12px !important;
gap: 6px !important;
flex: none !important;
display: flex !important;
flex-direction: row !important;
align-items: center !important;
text-align: left !important;
min-height: 75px !important;
justify-content: flex-start !important;
border-radius: 0 !important;
width: auto !important;
min-width: auto !important;
max-width: none !important;
background: rgba(15, 23, 42, 0.6) !important;
border: 1px solid rgba(148, 163, 184, 0.15) !important;
}
.banner-s .banner-list .banner-item .banner-item-icon {
width: 28px;
height: 28px;
margin-bottom: 0;
margin-right: 8px;
flex-shrink: 0;
}
.banner-s .banner-list .banner-item .banner-item-content {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 3px;
flex: 1;
min-width: 0;
}
.banner-s .banner-list .banner-item h5 {
font-size: 11px !important;
margin-bottom: 0 !important;
line-height: 1.2;
color: #E5E7EB;
}
.banner-s .banner-list .banner-item .title-desc {
font-size: 9px !important;
line-height: 1.2;
margin: 0 !important;
color: rgba(203, 213, 225, 0.8);
}
/* ===== 热销产品 - 紧凑 ===== */
.hot-products {
margin-top: -20px;
padding: 14px 0 20px !important;
}
.hot-products-title h3 {
font-size: 16px;
margin-bottom: 4px;
}
.hot-products-title .subtitle {
font-size: 9px;
}
.products-table-wrapper {
padding: 0 8px;
}
.products-table tbody tr {
margin-bottom: 8px;
padding: 10px;
}
.products-table tbody td {
padding: 5px 0 5px 65px;
font-size: 10px;
}
.products-table tbody td::before {
left: 10px;
font-size: 9px;
}
.products-table .product-name {
font-size: 11px;
}
.products-table .product-tag {
font-size: 8px;
padding: 0 4px;
}
.products-table .product-price {
font-size: 14px;
}
.products-table .product-price .unit {
font-size: 9px;
}
.products-table .btn-buy {
padding: 4px 12px;
font-size: 9px;
}
/* ===== Section 通用 - 极致压缩 ===== */
.section {
padding: 20px 0 !important;
}
.section-content {
padding: 20px 8px !important;
}
.section-title h2 {
font-size: 16px;
margin-bottom: 4px;
}
.section-title .section-desc {
font-size: 9px;
}
.section-title h2::after {
width: 25px;
}
/* ===== 解决方案 - 卡片列表 ===== */
.solution-wrapper {
margin-top: 12px;
}
.solution-slider {
gap: 8px;
}
.solution-content {
padding: 10px 8px !important;
gap: 8px;
}
.solution-text h3 {
font-size: 14px;
margin-bottom: 2px;
}
.solution-subtitle {
font-size: 9px;
margin-bottom: 4px;
}
.solution-desc p {
font-size: 9px;
}
.solution-link {
padding: 5px 12px;
font-size: 9px;
}
.solution-image {
height: 100px;
}
/* ===== 基础设施 - 简化 ===== */
.section-base {
padding: 18px 0 !important;
}
.base .base-content {
margin-top: 12px;
margin-bottom: 16px;
}
.base .base-content .fboxRow {
margin-bottom: 8px;
}
.base .base-content h2 {
font-size: 24px;
}
.base .base-content .title-desc {
font-size: 9px;
}
.section-base .base img {
width: 100%;
max-width: 280px;
margin: 12px auto 0;
}
/* ===== 荣誉 - 极简 ===== */
.honor-section {
margin-top: 16px;
padding: 16px 0;
}
.honor-title h3 {
font-size: 16px;
margin-bottom: 4px;
}
.honor-subtitle {
font-size: 9px;
}
.honor-list {
gap: 8px;
padding: 0 8px;
}
.honor-item {
width: calc(50% - 4px);
padding: 12px 8px;
padding-bottom: 8px;
}
.honor-icon {
width: 60px;
height: 60px;
margin-bottom: 6px;
}
.honor-icon img {
width: 35px;
height: 35px;
}
.honor-name {
font-size: 10px;
line-height: 1.2;
}
/* ===== 新闻 - 极简 ===== */
.section.news {
padding: 18px 0 !important;
}
.news-content {
margin-top: 12px;
gap: 12px;
flex-direction: column;
}
.news-content .news-cont {
padding: 12px;
}
.news-content .news-head .news-title {
font-size: 14px;
}
.news-content .news-head .news-more {
font-size: 9px;
}
.news-content .news-item {
line-height: 26px;
padding: 6px 0;
}
.news-content .news-item .number {
min-width: 14px;
height: 14px;
font-size: 8px;
margin-right: 4px;
}
.news-content .news-item .title {
font-size: 10px;
}
.news-content .news-item .time {
font-size: 8px;
min-width: 55px;
}
}
/* 性能优化提示 */
/* 在移动设备上禁用一些复杂动画以提升性能 */
.banner-cont .swiper-slide::before,
.banner-cont .swiper-slide::after,
.section.service::before,
.practice::before,
.section.news::before,
.section-base::before {
display: none;
}
/* 简化hover效果 */
.service .service-box:hover,
.resolve-content .resolve-box:hover,
.practice .practice-box:hover {
transform: none;
}
}
/* ============================================
首页 Footer 深色科技风格
============================================ */
/* Footer 整体优化 */
#index .section-promise {
background:
radial-gradient(circle at 30% 50%, rgba(99, 102, 241, 0.08) 0%, transparent 50%),
linear-gradient(180deg, #020617 0%, #0F172A 100%);
border-top: 1px solid rgba(148, 163, 184, 0.1);
}
#index .section-promise .promise-box {
color: #E5E7EB;
transition: all 0.3s ease;
}
#index .section-promise .promise-box:hover {
color: #38BDF8;
transform: translateY(-5px);
}
/* Footer 主体区域 */
#index .footer-content {
background: transparent;
}
#index .footer-nav-head {
color: #F9FAFB;
font-weight: 600;
font-size: 16px;
}
#index .footer-nav-item {
color: rgba(203, 213, 225, 0.8);
}
#index .footer-nav-item a {
color: rgba(203, 213, 225, 0.8);
}
#index .footer-nav-item:hover,
#index .footer-nav-item a:hover {
color: #38BDF8;
}
/* Footer 底部信息 */
#index .footer-record {
border-top-color: rgba(148, 163, 184, 0.15);
color: rgba(148, 163, 184, 0.8);
}
#index .footer-record a {
color: rgba(148, 163, 184, 0.8);
}
#index .footer-record a:hover {
color: #38BDF8;
}
/* 注册广告优化 */
#index .register-advert {
background: transparent;
padding: 0;
height: auto;
}
#index .register-advert a {
display: block;
}
#index .register-advert img {
border-radius: 16px;
box-shadow: 0 8px 32px rgba(56, 189, 248, 0.2);
transition: all 0.3s ease;
height: auto;
object-fit: contain;
}
#index .register-advert img:hover {
transform: translateY(-5px);
box-shadow: 0 12px 48px rgba(56, 189, 248, 0.3);
}
/* ============================================
Section 间距统一优化
============================================ */
/* 统一 section 间距和背景过渡 */
#index .section {
position: relative;
}
/* 移除可能导致白色闪烁的背景 */
#index .section-content {
background: transparent;
}
/* 确保所有section背景连贯 */
#index .section.banner {
background: transparent;
position: relative;
z-index: 0 !important;
}
/* banner 整体容器也降到最低 */
#index .banner-cont {
z-index: 0 !important;
}
#index .section.service {
padding-top: 120px;
/* 为 banner-s 留出空间 */
}
/* 优化各section之间的过渡 */
#index .section:not(:last-child)::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.1), transparent);
}
/* ============================================
首页登录菜单和侧边栏优化
============================================ */
/* 登录用户信息显示 */
#index .nav-header .login-in .head-img {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
border-color: rgba(56, 189, 248, 0.3);
box-shadow: 0 0 20px rgba(56, 189, 248, 0.3);
}
#index .nav-header .login-in .name {
color: #E5E7EB;
}
#index .nav-header .login-in::after {
border-left-color: rgba(148, 163, 184, 0.2);
}
/* 登录下拉菜单 */
#index .nav-header .login-in .login-menu {
background: rgba(15, 23, 42, 0.95);
backdrop-filter: blur(20px);
border-color: rgba(148, 163, 184, 0.2);
box-shadow: 0 8px 32px rgba(15, 23, 42, 0.5);
}
#index .nav-header .login-in .login-menu .login-menu-item {
color: #E5E7EB;
}
#index .nav-header .login-in .login-menu .login-menu-item:hover {
background: rgba(56, 189, 248, 0.15);
color: #38BDF8;
}
/* 侧边栏工具条优化 */
#index .aside-tools {
background: rgba(15, 23, 42, 0.9);
backdrop-filter: blur(20px);
border: 1px solid rgba(148, 163, 184, 0.15);
border-radius: 12px;
box-shadow: 0 8px 32px rgba(15, 23, 42, 0.5);
}
#index .aside-tools .aside-box {
border-bottom-color: rgba(148, 163, 184, 0.15);
}
#index .aside-tools .aside-box:hover {
background: rgba(56, 189, 248, 0.1);
}
#index .aside-tools .aside-text {
color: #E5E7EB;
}
#index .aside-tools .aside-box:hover .aside-text {
color: #38BDF8;
}
/* 返回顶部按钮 */
#index .aside-tools .back-top {
background: rgba(56, 189, 248, 0.15);
transition: all 0.3s ease;
}
#index .aside-tools .back-top:hover {
background: linear-gradient(135deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.4);
}
/* ============================================
细节优化 - 二维码弹窗等
============================================ */
/* 如果有二维码弹窗,也优化为深色 */
#index .qrcode-popup {
background: rgba(15, 23, 42, 0.95);
backdrop-filter: blur(20px);
border: 1px solid rgba(148, 163, 184, 0.2);
box-shadow: 0 16px 48px rgba(15, 23, 42, 0.6);
}
#index .qrcode-popup .title {
color: #F9FAFB;
}
#index .qrcode-popup .desc {
color: rgba(203, 213, 225, 0.8);
}
/* ============================================
全场景全栈解决方案 - 新设计(上下两层)
============================================ */
/* 解决方案容器 */
.solution-wrapper {
margin-top: 60px;
position: relative;
}
/* 上层:按钮导航 */
.solution-tabs {
display: flex;
justify-content: center;
gap: 16px;
margin-bottom: 40px;
flex-wrap: wrap;
}
.solution-tab {
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;
}
/* 按钮光晕效果 */
.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: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:hover::before {
width: 200px;
height: 200px;
}
.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.active::before {
display: none;
}
/* 下层:幻灯片容器 */
.solution-slider {
position: relative;
min-height: 450px;
overflow: hidden;
}
/* 单个幻灯片 */
.solution-slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
opacity: 0;
transition: opacity 0.6s ease;
pointer-events: none;
z-index: 1;
}
/* 激活的幻灯片 */
.solution-slide.active {
position: relative;
opacity: 1;
pointer-events: auto;
z-index: 2;
}
/* 幻灯片内容区域 */
.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-text {
flex: 1;
min-width: 0;
padding: 40px;
display: flex;
flex-direction: column;
justify-content: center;
}
.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-subtitle {
font-size: 16px;
color: rgba(148, 163, 184, 0.9);
margin-bottom: 24px;
font-weight: 500;
}
.solution-desc {
color: rgba(203, 213, 225, 0.85);
line-height: 1.8;
margin-bottom: 32px;
}
.solution-desc p {
margin-bottom: 12px;
font-size: 15px;
}
.solution-desc p:last-child {
margin-bottom: 0;
}
/* 了解详情链接 */
.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 {
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(56, 189, 248, 0.5);
}
.solution-link .icon-arrow-right {
transition: transform 0.3s ease;
}
.solution-link:hover .icon-arrow-right {
transform: translateX(5px);
}
/* 右侧图片区域 */
.solution-image {
flex-shrink: 0;
width: 600px;
position: relative;
overflow: hidden;
border-radius: 0;
background: rgba(15, 23, 42, 0.5);
}
.solution-image img {
width: 100%;
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 {
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-nav-link {
color: #E5E7EB;
transition: all 0.3s ease;
}
#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-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 .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);
}
/* Mobile Overrides for Index Page */
/* 注意:移动端 banner 样式已在第 698 行定义,这里不要重复设置 */
/*
以下样式已被注释,因为与第 698 行的移动端样式冲突
导致 swiper-slide 高度变成 400px 而不是 200px
/* 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 - Mobile Fold & Expand */
.products-grid .product-card:nth-child(n+5) {
display: none;
}
.products-grid.expanded .product-card:nth-child(n+5) {
display: block;
animation: fadeIn 0.5s ease;
}
.products-more-btn-wrapper {
display: flex;
justify-content: center;
margin-top: 20px;
padding-bottom: 20px;
}
.products-more-btn {
background: rgba(30, 41, 59, 0.6);
backdrop-filter: blur(10px);
border: 1px solid rgba(148, 163, 184, 0.2);
color: #cbd5e1;
padding: 10px 24px;
border-radius: 20px;
font-size: 14px;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 8px;
}
.products-more-btn:hover {
background: rgba(56, 189, 248, 0.2);
border-color: rgba(56, 189, 248, 0.4);
color: #fff;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* 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?
*/