Files
BlackFruit-UI/css/index.css
yiqiu 864a5fdd6e
All checks were successful
continuous-integration/drone/push Build is passing
反代
2025-11-22 23:43:34 +08:00

1853 lines
38 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.
/* ============================================
首页专属样式 - 整体深色科技风格
============================================ */
/* 首页整体背景 - 统一深色,避免白色闪烁 */
#index {
background: linear-gradient(180deg, #020617 0%, #0F172A 50%, #020617 100%);
min-height: 100vh;
}
/* 首页 Header 深色玻璃态覆盖 */
#index #header {
background: transparent;
}
#index .nav-shadow {
background: rgba(15, 23, 42, 0.8) !important;
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(148, 163, 184, 0.15);
box-shadow: 0 4px 24px rgba(15, 23, 42, 0.4);
}
/* 首页导航文字颜色 */
#index .nav-menu .nav-item {
color: #E5E7EB;
border-bottom-color: transparent;
}
#index .nav-menu .nav-item:hover {
color: #38BDF8;
border-bottom-color: #38BDF8;
}
#index .nav-right .control {
color: #E5E7EB;
}
#index .nav-right .control:hover {
color: #38BDF8;
}
/* 首页登录按钮优化 */
#index .btn-normal-light {
color: #E5E7EB;
background: rgba(15, 23, 42, 0.6);
border-color: rgba(148, 163, 184, 0.2);
}
#index .btn-normal-light:hover {
border-color: #38BDF8;
color: #38BDF8;
background: rgba(56, 189, 248, 0.1);
}
/* 首页下拉菜单优化 */
#index .nav-cont {
background: rgba(15, 23, 42, 0.95);
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
#index .nav-item-box {
background: rgba(30, 41, 59, 0.8);
border: 1px solid rgba(148, 163, 184, 0.15);
}
#index .nav-item-box:hover {
background: rgba(30, 41, 59, 1);
border-color: rgba(56, 189, 248, 0.3);
}
#index .nav-item-box .title {
color: #E5E7EB;
}
#index .nav-item-box .desc {
color: rgba(148, 163, 184, 0.8);
}
/* ============================================
Banner 区域
============================================ */
/* banner */
.banner-cont {
position: relative;
width: 100%;
overflow: hidden;
}
.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;
}
/* 动态网格背景 */
.banner-cont .swiper-slide::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(56, 189, 248, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
animation: gridMove 20s linear infinite;
pointer-events: none;
}
@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);
}
}
.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;
/* 移除 mix-blend-mode让图片更清晰 */
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: 8%;
transform: translateY(-50%);
max-width: 650px;
z-index: 10;
text-align: left;
}
.banner-cont .swiper-slide h1 {
font-size: 58px;
line-height: 1.2;
font-weight: 700;
/* 渐变文字效果 */
background: linear-gradient(135deg, #FFFFFF 0%, #38BDF8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: -1px;
animation: fadeInLeft 1s ease-out;
margin-bottom: 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;
animation: fadeInLeft 1s ease-out 0.2s both;
}
/* 轮播文案标签(标题上方的小圆角标签) */
.banner-tags {
margin-bottom: 20px;
animation: fadeInLeft 1s ease-out 0.1s both;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.banner-tag-pill {
display: inline-block;
padding: 6px 16px;
font-size: 13px;
border-radius: 999px;
background: rgba(56, 189, 248, 0.15);
color: #38BDF8;
border: 1px solid rgba(56, 189, 248, 0.3);
backdrop-filter: blur(10px);
font-weight: 500;
white-space: nowrap;
}
/* 按钮优化 - 科技感渐变发光效果 */
.banner-cont .btn2 {
animation: fadeInLeft 1s ease-out 0.4s both;
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-cont .swiper-pagination-bullet {
width: 40px;
height: 4px;
background: rgba(148, 163, 184, 0.3);
opacity: 1;
border-radius: 2px;
transition: all 0.3s ease;
}
.banner-cont .swiper-pagination-bullet-active {
width: 60px;
background: linear-gradient(90deg, #38BDF8 0%, #6366F1 100%);
box-shadow: 0 2px 10px rgba(56, 189, 248, 0.6);
}
/* Banner下方快速入口卡片 - 统一深色玻璃态设计 */
.banner .banner-s {
margin-top: -80px;
position: relative;
z-index: 20;
backdrop-filter: blur(20px);
/* 统一深色玻璃态,与上下背景融合 */
background:
radial-gradient(circle at 50% 0%, rgba(56, 189, 248, 0.08) 0%, transparent 60%),
rgba(15, 23, 42, 0.85);
border: 1px solid rgba(148, 163, 184, 0.2);
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
border-radius: 20px;
}
.banner .banner-s .banner-list {
display: flex;
flex-wrap: wrap;
padding: 0 20px;
}
.banner-s .banner-list .banner-item {
flex: 1;
cursor: pointer;
width: 335px;
padding: 36px 50px;
position: relative;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 16px;
}
/* 分隔线效果 */
.banner-s .banner-list .banner-item:not(:last-child)::after {
content: '';
position: absolute;
right: 0;
top: 20%;
height: 60%;
width: 1px;
background: linear-gradient(180deg, transparent, rgba(148, 163, 184, 0.2), transparent);
}
.banner-s .banner-list .banner-item:hover {
background: rgba(56, 189, 248, 0.08);
transform: translateY(-8px);
box-shadow: 0 12px 28px rgba(56, 189, 248, 0.15);
}
.banner-s .banner-list .banner-item:hover h5 {
color: #38BDF8;
transform: translateX(5px);
}
.banner-s .banner-list .banner-item h5 {
color: #F9FAFB;
font-size: 20px;
font-weight: 600;
transition: all 0.3s ease;
}
.banner-s .banner-list .banner-item .title-desc {
color: rgba(203, 213, 225, 0.8);
font-size: 13px;
line-height: 1.6;
}
.banner-list .banner-item .banner-tag {
font-size: 12px;
color: #38BDF8;
background: rgba(56, 189, 248, 0.12);
border: 1px solid rgba(56, 189, 248, 0.3);
padding: 6px 12px;
border-radius: 6px;
display: inline-block;
font-weight: 500;
transition: all 0.3s ease;
}
.banner-s .banner-list .banner-item:hover .banner-tag {
background: rgba(56, 189, 248, 0.2);
border-color: rgba(56, 189, 248, 0.5);
box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}
/* 服务内容 */
.service-content {
display: flex;
margin-top: 60px;
margin: -12px;
margin-top: 50px;
}
/* 服务模块整体背景:深色科技感基调 */
.section.service {
background:
radial-gradient(circle at 15% 20%, rgba(99, 102, 241, 0.12) 0%, transparent 50%),
radial-gradient(circle at 85% 80%, rgba(56, 189, 248, 0.1) 0%, transparent 50%),
linear-gradient(180deg, #020617 0%, #0F172A 100%);
position: relative;
overflow: hidden;
}
/* 添加动态背景装饰 */
.section.service::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
radial-gradient(circle at 20% 50%, rgba(56, 189, 248, 0.02) 1px, transparent 1px),
radial-gradient(circle at 80% 50%, rgba(99, 102, 241, 0.02) 1px, transparent 1px);
background-size: 30px 30px;
animation: float 15s ease-in-out infinite;
pointer-events: none;
}
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-20px);
}
}
.section.service .section-title h2 {
color: #F9FAFB;
font-size: 40px;
font-weight: 700;
}
.section.service .section-title .section-desc {
color: rgba(203, 213, 225, 0.85);
font-size: 16px;
}
/* 服务卡片 - 3D悬浮效果 */
.service .service-box {
min-height: 240px;
margin: 12px;
position: relative;
padding: 32px;
border-radius: 20px;
/* 深色玻璃态面板 */
background:
radial-gradient(circle at 0% 0%, rgba(56, 189, 248, 0.08) 0%, transparent 50%),
rgba(15, 23, 42, 0.85);
border: 1px solid rgba(148, 163, 184, 0.15);
box-shadow:
0 4px 24px rgba(15, 23, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
color: #E5E7EB;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
backdrop-filter: blur(10px);
overflow: hidden;
}
/* 卡片光晕装饰 */
.service .service-box::before {
content: '';
position: absolute;
top: -50%;
right: -50%;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.5s ease;
}
.service .service-box:hover::before {
opacity: 1;
}
.service .service-box:hover {
transform: translateY(-12px) scale(1.02);
box-shadow:
0 20px 60px rgba(56, 189, 248, 0.25),
0 0 40px rgba(56, 189, 248, 0.15),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
border-color: rgba(56, 189, 248, 0.4);
}
.service .service-box .service-title {
color: #F9FAFB;
font-size: 22px;
font-weight: 600;
transition: all 0.3s ease;
}
.service .service-box:hover h4 {
color: #38BDF8;
text-shadow: 0 0 20px rgba(56, 189, 248, 0.5);
}
/* Hot标签优化 */
.service .service-hot::before {
content: '';
height: 70px;
width: 70px;
position: absolute;
right: -5px;
top: -5px;
background: url('../assets/img/index/hot.png');
background-repeat: no-repeat;
background-size: 100%;
filter: drop-shadow(0 0 10px rgba(255, 103, 57, 0.6));
animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
}
.service-box .title-desc {
margin: 18px 0;
height: 44px;
color: rgba(203, 213, 225, 0.8);
line-height: 1.6;
}
/* 服务标签组 */
.service .service-tag-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.service .service-tag-group .service-tag {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
padding: 0 14px;
height: 26px;
color: #94A3B8;
background: rgba(15, 23, 42, 0.6);
border: 1px solid rgba(148, 163, 184, 0.2);
border-radius: 999px;
transition: all 0.3s ease;
font-weight: 500;
}
.service .service-box:hover .service-tag {
color: #38BDF8;
background: rgba(56, 189, 248, 0.12);
border-color: rgba(56, 189, 248, 0.3);
box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
}
/* 解决方案 */
.resolve {
background: #0F172A url(../assets/img/index/home-bg.png) no-repeat center center;
background-size: cover;
position: relative;
}
/* 添加深色遮罩增强对比度 */
.resolve::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, rgba(15, 23, 42, 0.7) 0%, rgba(15, 23, 42, 0.85) 100%);
pointer-events: none;
}
.resolve .section-content {
position: relative;
z-index: 1;
}
.resolve .section-title h2 {
color: #F9FAFB;
font-size: 40px;
font-weight: 700;
}
.resolve .section-title .section-desc {
color: rgba(203, 213, 225, 0.85);
font-size: 16px;
}
.resolve-content {
margin: -12px;
margin-top: 60px;
}
/* 解决方案卡片 - 错落悬浮效果 */
.resolve-content .resolve-box {
position: relative;
top: 0;
max-width: 335px;
padding: 36px;
margin: 12px;
background: rgba(15, 23, 42, 0.6);
backdrop-filter: blur(16px);
border: 1px solid rgba(148, 163, 184, 0.15);
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.6),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
border-radius: 16px;
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
background-size: cover;
background-repeat: no-repeat;
background-blend-mode: overlay;
overflow: hidden;
}
/* 卡片发光边框效果 */
.resolve-content .resolve-box::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 16px;
padding: 1px;
background: linear-gradient(135deg, rgba(56, 189, 248, 0.3), rgba(99, 102, 241, 0.3));
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.5s ease;
}
.resolve-content .resolve-box:hover::before {
opacity: 1;
}
/* 错落布局 - 奇数偶数不同的hover效果 */
.resolve-content .resolve-box:nth-child(even) {
transform: translateY(15px);
}
.resolve-content .resolve-box:hover {
transform: translateY(-15px) scale(1.03);
box-shadow:
0 20px 50px rgba(56, 189, 248, 0.25),
0 0 50px rgba(56, 189, 248, 0.1),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
border-color: rgba(56, 189, 248, 0.4);
}
.resolve-content .resolve-box:nth-child(even):hover {
transform: translateY(-5px) scale(1.03);
}
.resolve-content .resolve-box:nth-child(1) {
background-image: url('../assets/img/index/solution-1.png');
}
.resolve-content .resolve-box:nth-child(2) {
background-image: url('../assets/img/index/solution-2.png');
}
.resolve-content .resolve-box:nth-child(3) {
background-image: url('../assets/img/index/solution-3.png');
}
.resolve-content .resolve-box:nth-child(4) {
background-image: url('../assets/img/index/solution-7.png');
}
.resolve-content .fboxRow:nth-child(2) .resolve-box:nth-child(1) {
background-image: url('../assets/img/index/solution-4.png');
}
.resolve-content .fboxRow:nth-child(2) .resolve-box:nth-child(2) {
background-image: url('../assets/img/index/solution-5.png');
}
.resolve-content .fboxRow:nth-child(2) .resolve-box:nth-child(3) {
background-image: url('../assets/img/index/solution-6.png');
}
.resolve-content .fboxRow:nth-child(2) .resolve-box:nth-child(4) {
background-image: url('../assets/img/index/solution-8.png');
}
.resolve-content .resolve-box:hover h4,
.resolve-content .resolve-box:hover .resolve-link {
color: #38BDF8;
text-shadow: 0 0 20px rgba(56, 189, 248, 0.5);
}
.resolve-content .resolve-box h4 {
color: #F9FAFB;
font-size: 24px;
margin-bottom: 20px;
font-weight: 600;
transition: all 0.3s ease;
}
.resolve-content .resolve-box .title-desc {
color: rgba(203, 213, 225, 0.85);
line-height: 1.7;
}
.resolve-content .resolve-box .resolve-link {
color: rgba(148, 163, 184, 0.9);
margin-top: 60px;
font-size: 14px;
font-weight: 500;
display: inline-flex;
align-items: center;
transition: all 0.3s ease;
}
.resolve-content .resolve-box .resolve-link .icon-arrow-right {
margin-left: 5px;
transition: transform 0.3s ease;
}
.resolve-content .resolve-box:hover .resolve-link .icon-arrow-right {
transform: translateX(5px);
}
/* 服务实践 */
.practice {
/* 与解决方案区域衔接的暗色背景 */
background: linear-gradient(180deg, #0F172A 0%, #020617 100%);
position: relative;
}
.practice::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
radial-gradient(circle at 20% 50%, rgba(56, 189, 248, 0.02) 1px, transparent 1px),
radial-gradient(circle at 80% 50%, rgba(99, 102, 241, 0.02) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}
.practice .section-title h2 {
color: #F9FAFB;
font-size: 40px;
font-weight: 700;
}
.practice .section-title .section-desc {
color: rgba(203, 213, 225, 0.85);
font-size: 16px;
}
.practice .practice-content {
margin: -12px;
margin-top: 50px;
flex-wrap: wrap;
}
/* 实践卡片优化 */
.practice .practice-box {
margin: 12px;
padding: 36px;
width: 453px;
border-radius: 20px;
text-align: center;
background:
radial-gradient(circle at 50% 0%, rgba(56, 189, 248, 0.05) 0%, transparent 60%),
rgba(15, 23, 42, 0.85);
border: 1px solid rgba(148, 163, 184, 0.15);
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.6),
inset 0 1px 0 rgba(255, 255, 255, 0.03);
color: #E5E7EB;
flex-shrink: 0;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
backdrop-filter: blur(10px);
}
.practice .practice-box:hover {
transform: translateY(-8px);
box-shadow:
0 16px 48px rgba(56, 189, 248, 0.2),
inset 0 1px 0 rgba(255, 255, 255, 0.08);
border-color: rgba(56, 189, 248, 0.3);
}
.practice .practice-box img {
width: 177px;
height: 66px;
cursor: pointer;
filter: grayscale(0.3) brightness(1.1);
transition: all 0.3s ease;
}
.practice .practice-box:hover img {
filter: grayscale(0) brightness(1.2);
transform: scale(1.05);
}
.brand-group {
margin: -12px;
display: flex;
flex-wrap: wrap;
}
.practice .brand-box {
margin: 12px;
width: 216px;
height: 140px;
align-items: center;
display: flex;
justify-content: center;
border: 1px solid rgba(148, 163, 184, 0.1);
border-radius: 12px;
background: rgba(15, 23, 42, 0.6);
backdrop-filter: blur(10px);
transition: all 0.3s ease;
}
.practice .brand-box:hover {
box-shadow: 0 8px 24px rgba(56, 189, 248, 0.15);
border-color: rgba(56, 189, 248, 0.3);
transform: translateY(-5px);
}
.practice .brand-box img {
width: 86px;
height: 75px;
cursor: pointer;
filter: grayscale(0.5);
transition: filter 0.3s ease;
}
.practice .brand-box:hover img {
filter: grayscale(0);
}
/* 基础设施 */
.section-base {
/* 统一为暗色科技风背景 */
background:
radial-gradient(ellipse at 50% 20%, rgba(99, 102, 241, 0.15) 0%, transparent 60%),
radial-gradient(ellipse at 50% 80%, rgba(56, 189, 248, 0.12) 0%, transparent 60%),
linear-gradient(180deg, #020617 0%, #0F172A 100%);
position: relative;
overflow: hidden;
}
.section-base::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(56, 189, 248, 0.02) 1px, transparent 1px),
linear-gradient(90deg, rgba(56, 189, 248, 0.02) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
}
.section-base .base {
margin-top: 50px;
}
.section-base>.section-content {
padding: 62px 20px 0;
position: relative;
z-index: 1;
}
.section-base .base img {
width: calc(100% - 140px);
margin-left: 35px;
height: 520px;
padding-right: 80px;
filter: drop-shadow(0 0 30px rgba(56, 189, 248, 0.3));
animation: mapGlow 3s ease-in-out infinite alternate;
}
@keyframes mapGlow {
from {
filter: drop-shadow(0 0 20px rgba(56, 189, 248, 0.2));
}
to {
filter: drop-shadow(0 0 40px rgba(56, 189, 248, 0.4));
}
}
.base .base-content {
margin-bottom: 100px;
}
/* 数据展示优化 - 数字计数器效果 */
.base .base-content h2 {
color: #38BDF8;
font-size: 56px;
font-weight: 700;
text-shadow: 0 0 30px rgba(56, 189, 248, 0.5);
transition: all 0.3s ease;
}
.base .base-content .title-desc {
white-space: nowrap;
color: rgba(203, 213, 225, 0.85);
font-size: 15px;
}
.base .base-content .fboxRow:hover h2 {
transform: scale(1.1);
text-shadow: 0 0 40px rgba(56, 189, 248, 0.8);
}
.section-base .section-title h2 {
color: #F9FAFB;
font-size: 40px;
font-weight: 700;
}
.section-base .section-title .section-desc {
color: rgba(203, 213, 225, 0.85);
font-size: 16px;
}
/* 认证卡片区域 */
.cert {
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
background:
radial-gradient(circle at 50% 0%, rgba(56, 189, 248, 0.05) 0%, transparent 60%),
rgba(255, 255, 255, 0.05);
backdrop-filter: blur(20px);
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.cert-list {
padding: 0 20px;
}
.cert-list .cert-item {
padding: 20px 0;
display: flex;
flex-direction: column;
align-items: center;
width: 200px;
transition: all 0.3s ease;
}
.cert-list .cert-item:hover {
transform: translateY(-5px);
}
.cert-list .cert-item img {
height: 60px;
width: 60px;
cursor: pointer;
filter: drop-shadow(0 4px 12px rgba(56, 189, 248, 0.2));
transition: all 0.3s ease;
}
.cert-list .cert-item:hover img {
transform: scale(1.1);
filter: drop-shadow(0 6px 20px rgba(56, 189, 248, 0.4));
}
.cert-list .cert-item .title-desc {
font-size: 12px;
margin-top: 10px;
color: rgba(203, 213, 225, 0.8);
}
/* 新闻 */
.section.news {
background:
radial-gradient(ellipse at 30% 50%, rgba(99, 102, 241, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 70% 50%, rgba(56, 189, 248, 0.06) 0%, transparent 50%),
linear-gradient(180deg, #0F172A 0%, #020617 100%);
position: relative;
}
.section.news::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
radial-gradient(circle at 30% 50%, rgba(56, 189, 248, 0.02) 1px, transparent 1px),
radial-gradient(circle at 70% 50%, rgba(99, 102, 241, 0.02) 1px, transparent 1px);
background-size: 35px 35px;
pointer-events: none;
}
.section.news .section-title h2 {
color: #F9FAFB;
font-size: 40px;
font-weight: 700;
}
.section.news .section-title .section-desc {
color: rgba(203, 213, 225, 0.85);
font-size: 16px;
}
.news-content {
margin-top: 60px;
display: flex;
flex-wrap: wrap;
gap: 130px;
position: relative;
z-index: 1;
}
/* 新闻列表块优化 */
.news-content .news-cont {
flex: 1;
background:
radial-gradient(circle at 50% 0%, rgba(56, 189, 248, 0.06) 0%, transparent 60%),
rgba(15, 23, 42, 0.7);
backdrop-filter: blur(16px);
border-radius: 20px;
padding: 28px 28px 20px;
box-shadow:
0 8px 32px rgba(15, 23, 42, 0.5),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
border: 1px solid rgba(148, 163, 184, 0.15);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.news-content .news-cont:hover {
transform: translateY(-8px);
box-shadow:
0 16px 48px rgba(56, 189, 248, 0.2),
inset 0 1px 0 rgba(255, 255, 255, 0.08);
border-color: rgba(56, 189, 248, 0.3);
}
.news-content .news-head .news-title {
position: relative;
padding-left: 14px;
font-size: 20px;
line-height: 24px;
height: 24px;
color: #F9FAFB;
font-weight: 600;
}
/* 标题左侧发光装饰条 */
.news-content .news-head .news-title::before {
content: '';
width: 4px;
height: 24px;
position: absolute;
left: 0;
top: 0;
background: linear-gradient(180deg, #38BDF8 0%, #6366F1 100%);
border-radius: 2px;
box-shadow: 0 0 10px rgba(56, 189, 248, 0.6);
}
.news-content .news-head .news-more {
font-size: 14px;
color: rgba(148, 163, 184, 0.8);
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 5px;
}
.news-content .news-head .news-more a {
color: inherit;
}
.news-content .news-head .news-more:hover {
color: #38BDF8;
}
.news-content .news-head .news-more:hover a {
color: #38BDF8;
}
.news-content .news-list {
margin-top: 20px;
}
.news-content .news-list .news-item {
line-height: 50px;
display: flex;
justify-content: space-between;
border-bottom: 1px dashed rgba(148, 163, 184, 0.15);
transition: all 0.3s ease;
padding: 0 5px;
border-radius: 8px;
}
.news-content .news-list .news-item:hover {
background: rgba(56, 189, 248, 0.05);
border-bottom-color: rgba(56, 189, 248, 0.3);
}
/* 排名标签优化 - 前三名渐变发光 */
.news-content .news-cont .news-item:nth-child(1) .number {
background: linear-gradient(135deg, #38BDF8 0%, #0EA5E9 100%);
box-shadow: 0 2px 8px rgba(56, 189, 248, 0.4);
font-weight: 600;
}
.news-content .news-cont .news-item:nth-child(2) .number {
background: linear-gradient(135deg, #6366F1 0%, #4F46E5 100%);
box-shadow: 0 2px 8px rgba(99, 102, 241, 0.4);
font-weight: 600;
}
.news-content .news-cont .news-item:nth-child(3) .number {
background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
box-shadow: 0 2px 8px rgba(139, 92, 246, 0.4);
font-weight: 600;
}
.news-content .news-item .number {
margin-right: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 12px;
min-width: 20px;
height: 20px;
background: rgba(71, 85, 105, 0.5);
border-radius: 6px;
font-weight: 500;
transition: all 0.3s ease;
}
.news-content .news-item .title {
font-size: 14px;
color: rgba(226, 232, 240, 0.9);
transition: all 0.3s ease;
}
.news-content .news-item:hover .title {
color: #38BDF8;
padding-left: 5px;
}
.news-content .news-item .time {
color: rgba(148, 163, 184, 0.7);
font-size: 13px;
min-width: 100px;
text-align: right;
}
.index .footer-link {
display: block;
}
.over-hide {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 24px;
}
.over-hide+p {
display: flex;
flex-wrap: wrap;
word-break: break-all;
}
/* ============================================
全局动画效果 - 滚动触发动画
============================================ */
/* 淡入向上动画 */
.animate-on-scroll {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-on-scroll.animated {
opacity: 1;
transform: translateY(0);
}
/* 延迟动画 - 用于列表项 */
.animate-on-scroll.delay-1 {
transition-delay: 0.1s;
}
.animate-on-scroll.delay-2 {
transition-delay: 0.2s;
}
.animate-on-scroll.delay-3 {
transition-delay: 0.3s;
}
.animate-on-scroll.delay-4 {
transition-delay: 0.4s;
}
/* 淡入缩放动画 */
.scale-on-scroll {
opacity: 0;
transform: scale(0.9);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.scale-on-scroll.animated {
opacity: 1;
transform: scale(1);
}
/* 从左侧滑入 */
.slide-left {
opacity: 0;
transform: translateX(-50px);
transition: opacity 0.8s ease, transform 0.8s ease;
}
.slide-left.animated {
opacity: 1;
transform: translateX(0);
}
/* 从右侧滑入 */
.slide-right {
opacity: 0;
transform: translateX(50px);
transition: opacity 0.8s ease, transform 0.8s ease;
}
.slide-right.animated {
opacity: 1;
transform: translateX(0);
}
/* 页面加载动画 */
@keyframes pageLoadFade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
body {
animation: pageLoadFade 0.5s ease-in;
}
/* 平滑滚动 */
html {
scroll-behavior: smooth;
}
/* Section标题统一样式优化 */
.section-title {
position: relative;
z-index: 1;
}
.section-title h2 {
position: relative;
display: inline-block;
}
/* 为section标题添加底部装饰线 */
.section-title h2::after {
content: '';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 3px;
background: linear-gradient(90deg, #38BDF8 0%, #6366F1 100%);
border-radius: 2px;
box-shadow: 0 0 10px rgba(56, 189, 248, 0.6);
}
/* 悬停时的微交互 */
.service-box,
.resolve-box,
.practice-box,
.news-cont {
will-change: transform;
}
/* 性能优化:减少重绘 */
.banner-cont .swiper-slide::before,
.banner-cont .swiper-slide::after {
will-change: transform, opacity;
}
/* 禁用不必要的动画以提升性能 */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
/* ============================================
响应式优化
============================================ */
/* 大屏幕 1400px+ */
@media (min-width: 1400px) {
.banner-cont .swiper-slide h1 {
font-size: 64px;
}
.banner-cont .swiper-slide .section-content {
max-width: 700px;
}
.section-title h2 {
font-size: 44px;
}
}
/* 中等屏幕 1200px - 1399px */
@media (max-width: 1399px) {
.banner-cont .swiper-slide {
height: 600px;
}
.banner-cont .swiper-slide h1 {
font-size: 52px;
}
.banner-cont .swiper-slide .section-content {
max-width: 600px;
}
.service .service-box {
min-height: 220px;
padding: 28px;
}
}
/* 小屏幕 992px - 1199px */
@media (max-width: 1199px) {
.banner-cont .swiper-slide {
height: 550px;
}
.banner-cont .swiper-slide h1 {
font-size: 44px;
}
.banner-cont .swiper-slide .section-content {
max-width: 500px;
left: 5%;
}
.banner-cont .swiper-slide .img {
width: 50%;
}
.banner-s .banner-list .banner-item {
padding: 30px 40px;
}
.section-title h2 {
font-size: 36px;
}
.service .service-box {
min-height: 200px;
padding: 24px;
}
.resolve-content .resolve-box {
max-width: 300px;
padding: 30px;
}
.news-content {
gap: 60px;
}
}
/* 平板 768px - 991px */
@media (max-width: 991px) {
.banner-cont .swiper-slide {
height: 500px;
}
.banner-cont .swiper-slide h1 {
font-size: 36px;
}
.banner-cont .banner-desc {
font-size: 15px;
}
/* 平板尺寸下,图片改为背景,文字居中 */
.banner-cont .swiper-slide .img {
width: 100%;
height: 100%;
opacity: 0.15;
filter: none;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
transform: none;
animation: none;
}
.banner-cont .swiper-slide .section-content {
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
max-width: 90%;
}
.banner-tags {
justify-content: center;
}
.banner-s .banner-list {
flex-direction: column;
}
.banner-s .banner-list .banner-item {
width: 100%;
padding: 24px 30px;
}
.banner-s .banner-list .banner-item:not(:last-child)::after {
display: none;
}
.section-title h2 {
font-size: 32px;
}
.service-content .fboxRow {
flex-direction: column;
}
.service .service-box {
max-width: 100%;
}
.resolve-content .fboxRow {
flex-direction: column;
align-items: center;
}
.resolve-content .resolve-box {
max-width: 500px;
width: 100%;
}
.base .base-content h2 {
font-size: 48px;
}
.section-base .base img {
width: 100%;
padding-right: 0;
margin-left: 0;
}
.news-content {
flex-direction: column;
gap: 30px;
}
.practice .practice-box {
width: 100%;
max-width: 500px;
}
}
/* 手机 576px - 767px */
@media (max-width: 767px) {
.banner-cont .swiper-slide {
height: 450px;
}
.banner-cont .swiper-slide h1 {
font-size: 32px;
}
.banner-cont .banner-desc {
font-size: 14px;
margin-top: 20px;
margin-bottom: 30px;
}
.banner-cont .btn2 {
padding: 12px 32px;
font-size: 14px;
}
.banner .banner-s {
margin-top: -60px;
}
.section-title h2 {
font-size: 28px;
}
.section-title .section-desc {
font-size: 14px;
}
.section {
padding: 50px 0 !important;
}
.service .service-box {
padding: 20px;
margin: 8px;
}
.service .service-box .service-title {
font-size: 20px;
}
.resolve-content .resolve-box {
padding: 24px;
}
.resolve-content .resolve-box h4 {
font-size: 20px;
}
.base .base-content h2 {
font-size: 40px;
}
.base .base-content {
margin-bottom: 50px;
}
.practice .practice-box,
.practice .brand-box {
width: 100%;
}
.cert-list .cert-item {
width: 150px;
}
}
/* 小手机 最大575px */
@media (max-width: 575px) {
.banner-cont .swiper-slide {
height: 400px;
}
.banner-cont .swiper-slide h1 {
font-size: 28px;
}
.banner-cont .banner-desc {
font-size: 13px;
}
.banner-s .banner-list .banner-item {
padding: 20px 24px;
}
.banner-s .banner-list .banner-item h5 {
font-size: 18px;
}
.section-title h2 {
font-size: 24px;
}
.section-title h2::after {
width: 40px;
}
.service .service-box {
min-height: auto;
}
.resolve-content .resolve-box {
max-width: 100%;
}
.base .base-content h2 {
font-size: 32px;
}
.base .base-content .title-desc {
font-size: 13px;
}
.section-base .base {
flex-direction: column;
}
.news-content .news-head .news-title {
font-size: 18px;
}
}
/* 性能优化提示 */
@media (max-width: 768px) {
/* 在移动设备上禁用一些复杂动画以提升性能 */
.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: 40px 0;
}
#index .register-advert img {
border-radius: 16px;
box-shadow: 0 8px 32px rgba(56, 189, 248, 0.2);
transition: all 0.3s ease;
}
#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;
}
#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);
}