发打发十分
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
yiqiu
2025-12-25 23:39:38 +08:00
parent 525e2ad926
commit ca668847bd
2 changed files with 568 additions and 374 deletions

View File

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

View File

@@ -140,9 +140,12 @@
<h3>热销产品推荐</h3> <h3>热销产品推荐</h3>
<p class="subtitle">高性价比云服务器,助力您的业务快速上云</p> <p class="subtitle">高性价比云服务器,助力您的业务快速上云</p>
</div> </div>
<div class="products-grid">
<!-- Swiper Container -->
<div class="swiper hot-products-swiper">
<div class="swiper-wrapper products-grid">
<!-- 产品卡片 1 --> <!-- 产品卡片 1 -->
<div class="product-card"> <div class="swiper-slide product-card">
<div class="product-card-header"> <div class="product-card-header">
<h4 class="product-name">香港弹性云</h4> <h4 class="product-name">香港弹性云</h4>
<div class="product-badges"> <div class="product-badges">
@@ -172,7 +175,7 @@
</div> </div>
<!-- 产品卡片 2 --> <!-- 产品卡片 2 -->
<div class="product-card"> <div class="swiper-slide product-card">
<div class="product-card-header"> <div class="product-card-header">
<h4 class="product-name">美国高防云</h4> <h4 class="product-name">美国高防云</h4>
<div class="product-badges"> <div class="product-badges">
@@ -201,7 +204,7 @@
</div> </div>
<!-- 产品卡片 3 --> <!-- 产品卡片 3 -->
<div class="product-card"> <div class="swiper-slide product-card">
<div class="product-card-header"> <div class="product-card-header">
<h4 class="product-name">新加坡CN2云</h4> <h4 class="product-name">新加坡CN2云</h4>
<div class="product-badges"> <div class="product-badges">
@@ -231,7 +234,7 @@
</div> </div>
<!-- 产品卡片 4 --> <!-- 产品卡片 4 -->
<div class="product-card"> <div class="swiper-slide product-card">
<div class="product-card-header"> <div class="product-card-header">
<h4 class="product-name">日本BGP云</h4> <h4 class="product-name">日本BGP云</h4>
<div class="product-badges"> <div class="product-badges">
@@ -258,6 +261,157 @@
</div> </div>
<a href="./cloud.html" class="product-buy-btn">立即购买</a> <a href="./cloud.html" class="product-buy-btn">立即购买</a>
</div> </div>
<!-- 产品卡片 5 -->
<div class="swiper-slide product-card">
<div class="product-card-header">
<h4 class="product-name">韩国CN2云</h4>
<div class="product-badges">
<span class="product-badge badge-hot">热销</span>
</div>
</div>
<p class="product-desc">低延迟、高速度,适合游戏、视频等对网络质量要求高的业务</p>
<div class="product-specs">
<span class="spec-item">4核CPU</span>
<span class="spec-divider">|</span>
<span class="spec-item">8G内存</span>
<span class="spec-divider">|</span>
<span class="spec-item">10M带宽</span>
<span class="spec-divider">|</span>
<span class="spec-item">100G SSD</span>
</div>
<div class="product-pricing">
<div class="price-main">
<span class="price-currency">¥</span>
<span class="price-value">89.9</span>
<span class="price-original">原价¥179.8</span>
</div>
<span class="price-limit">限购1台</span>
</div>
<a href="./cloud.html" class="product-buy-btn">立即购买</a>
</div>
<!-- 产品卡片 6 -->
<div class="swiper-slide product-card">
<div class="product-card-header">
<h4 class="product-name">国内BGP云</h4>
<div class="product-badges">
<span class="product-badge badge-promo">特惠</span>
</div>
</div>
<p class="product-desc">多线BGP接入覆盖全国各地区访问速度快稳定性高</p>
<div class="product-specs">
<span class="spec-item">2核CPU</span>
<span class="spec-divider">|</span>
<span class="spec-item">4G内存</span>
<span class="spec-divider">|</span>
<span class="spec-item">5M带宽</span>
<span class="spec-divider">|</span>
<span class="spec-item">60G SSD</span>
</div>
<div class="product-pricing">
<div class="price-main">
<span class="price-currency">¥</span>
<span class="price-value">49.9</span>
<span class="price-original">原价¥99.8</span>
</div>
<span class="price-limit">限购1台</span>
</div>
<a href="./cloud.html" class="product-buy-btn">立即购买</a>
</div>
<!-- 产品卡片 7 -->
<div class="swiper-slide product-card">
<div class="product-card-header">
<h4 class="product-name">镇江高防云</h4>
<div class="product-badges">
<span class="product-badge badge-recommend">高防</span>
</div>
</div>
<p class="product-desc">T级防御能力有效抵御各类DDoS攻击保障业务连续性</p>
<div class="product-specs">
<span class="spec-item">8核CPU</span>
<span class="spec-divider">|</span>
<span class="spec-item">16G内存</span>
<span class="spec-divider">|</span>
<span class="spec-item">20M带宽</span>
<span class="spec-divider">|</span>
<span class="spec-item">200G SSD</span>
</div>
<div class="product-pricing">
<div class="price-main">
<span class="price-currency">¥</span>
<span class="price-value">299.9</span>
<span class="price-original">原价¥599.8</span>
</div>
<span class="price-limit">限购1台</span>
</div>
<a href="./cloud.html" class="product-buy-btn">立即购买</a>
</div>
<!-- 产品卡片 8 -->
<div class="swiper-slide product-card">
<div class="product-card-header">
<h4 class="product-name">宿迁BGP云</h4>
<div class="product-badges">
<span class="product-badge badge-promo">上新</span>
</div>
</div>
<p class="product-desc">全新BGP线路性价比极高适合个人站长及中小企业</p>
<div class="product-specs">
<span class="spec-item">4核CPU</span>
<span class="spec-divider">|</span>
<span class="spec-item">4G内存</span>
<span class="spec-divider">|</span>
<span class="spec-item">10M带宽</span>
<span class="spec-divider">|</span>
<span class="spec-item">80G SSD</span>
</div>
<div class="product-pricing">
<div class="price-main">
<span class="price-currency">¥</span>
<span class="price-value">69.9</span>
<span class="price-original">原价¥139.8</span>
</div>
<span class="price-limit">限购1台</span>
</div>
<a href="./cloud.html" class="product-buy-btn">立即购买</a>
</div>
</div>
<!-- Pagination -->
<div class="swiper-pagination hot-products-pagination"></div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
var hotProductsSwiper;
function initHotProductsSwiper() {
if (window.innerWidth < 768) {
if (!hotProductsSwiper) {
hotProductsSwiper = new Swiper('.hot-products-swiper', {
slidesPerView: 1.2,
spaceBetween: 16,
centeredSlides: true,
loop: false,
pagination: {
el: '.hot-products-pagination',
clickable: true,
},
});
}
} else {
if (hotProductsSwiper) {
hotProductsSwiper.destroy(true, true);
hotProductsSwiper = undefined;
}
}
}
initHotProductsSwiper();
window.addEventListener('resize', initHotProductsSwiper);
});
</script>
</div> </div>
</div> </div>
</div> </div>