Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-09-12 20:06:29 +08:00
parent 133876a29e
commit 26fa7d105f
2 changed files with 583 additions and 3 deletions

View File

@@ -22,6 +22,26 @@
--transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
--neon-shadow: 0 0 10px rgba(76, 175, 80, 0.3);
--neon-shadow-hover: 0 0 20px rgba(76, 175, 80, 0.5);
/* 新增设计规范变量 */
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-base: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-2xl: 1.5rem;
--font-size-3xl: 1.875rem;
--font-size-4xl: 2.25rem;
--font-size-5xl: 3rem;
--font-size-6xl: 3.75rem;
--spacing-xs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-base: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--spacing-2xl: 3rem;
--spacing-3xl: 4rem;
}
* {
@@ -36,6 +56,7 @@ body {
color: var(--text-dark);
background-color: #ffffff;
overflow-x: hidden;
font-size: var(--font-size-base);
}
/* 顶部联系栏 */
@@ -137,6 +158,8 @@ body {
min-height: 100vh;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
}
.hero-section::before {
@@ -187,6 +210,21 @@ body {
color: white;
}
.hero-content h1 {
font-size: var(--font-size-5xl);
font-weight: 800;
line-height: 1.2;
margin-bottom: 1.5rem;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.hero-content p {
font-size: var(--font-size-xl);
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
max-width: 600px;
}
.hero-badge .badge {
border-radius: 25px;
font-weight: 500;
@@ -232,6 +270,8 @@ body {
position: relative;
overflow: hidden;
text-decoration: none;
font-size: var(--font-size-base);
line-height: 1.5;
}
.btn-primary {
@@ -381,7 +421,7 @@ body {
}
.stat-number {
font-size: 2.5rem;
font-size: var(--font-size-4xl);
font-weight: 700;
margin-bottom: 0.5rem;
color: var(--primary-color);
@@ -389,7 +429,7 @@ body {
}
.stat-label {
font-size: 1rem;
font-size: var(--font-size-base);
color: var(--text-muted);
font-weight: 500;
}
@@ -420,6 +460,19 @@ body {
.floating-card {
display: none;
}
/* 移动端新增响应式类 */
.text-center-mobile {
text-align: center;
}
.d-block-mobile {
display: block;
}
.d-flex-mobile {
display: flex;
}
}
@media (max-width: 576px) {
@@ -438,6 +491,15 @@ body {
.brand-text .brand-subtitle {
font-size: 0.7rem;
}
/* 超小屏幕优化 */
.text-sm-center {
text-align: center;
}
.d-block-sm {
display: block;
}
}
/* 工具类 */
@@ -449,6 +511,192 @@ body {
backdrop-filter: blur(10px);
}
/* 新增工具类 */
.text-center {
text-align: center;
}
.text-primary {
color: var(--primary-color) !important;
}
.text-secondary {
color: var(--secondary-color) !important;
}
.text-success {
color: var(--success-color) !important;
}
.text-warning {
color: var(--warning-color) !important;
}
.text-danger {
color: var(--danger-color) !important;
}
.text-muted {
color: var(--text-muted) !important;
}
.bg-primary {
background-color: var(--primary-color) !important;
}
.bg-secondary {
background-color: var(--secondary-color) !important;
}
.bg-success {
background-color: var(--success-color) !important;
}
.bg-warning {
background-color: var(--warning-color) !important;
}
.bg-danger {
background-color: var(--danger-color) !important;
}
.bg-light {
background-color: var(--light-color) !important;
}
.bg-dark {
background-color: var(--dark-color) !important;
}
.rounded {
border-radius: var(--border-radius) !important;
}
.rounded-circle {
border-radius: 50% !important;
}
.shadow {
box-shadow: var(--box-shadow) !important;
}
.shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow-lg {
box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
.border-0 {
border: 0 !important;
}
.border {
border: 1px solid #dee2e6 !important;
}
.border-top {
border-top: 1px solid #dee2e6 !important;
}
.border-bottom {
border-bottom: 1px solid #dee2e6 !important;
}
.border-primary {
border-color: var(--primary-color) !important;
}
.border-secondary {
border-color: var(--secondary-color) !important;
}
.border-success {
border-color: var(--success-color) !important;
}
.border-warning {
border-color: var(--warning-color) !important;
}
.border-danger {
border-color: var(--danger-color) !important;
}
.d-flex {
display: flex !important;
}
.align-items-center {
align-items: center !important;
}
.justify-content-center {
justify-content: center !important;
}
.justify-content-between {
justify-content: space-between !important;
}
.flex-wrap {
flex-wrap: wrap !important;
}
.w-100 {
width: 100% !important;
}
.h-100 {
height: 100% !important;
}
.m-0 {
margin: 0 !important;
}
.mt-0 {
margin-top: 0 !important;
}
.mb-0 {
margin-bottom: 0 !important;
}
.ms-0 {
margin-left: 0 !important;
}
.me-0 {
margin-right: 0 !important;
}
.p-0 {
padding: 0 !important;
}
.pt-0 {
padding-top: 0 !important;
}
.pb-0 {
padding-bottom: 0 !important;
}
.ps-0 {
padding-left: 0 !important;
}
.pe-0 {
padding-right: 0 !important;
}
.mx-auto {
margin-left: auto !important;
margin-right: auto !important;
}
/* 加载动画 */
.loading-spinner {
display: inline-block;
@@ -540,12 +788,138 @@ body {
}
}
/* 新增动画效果 */
.slide-in-left {
animation: slideInLeft 0.5s ease-out forwards;
opacity: 0;
transform: translateX(-100%);
}
@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-100%);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.slide-in-right {
animation: slideInRight 0.5s ease-out forwards;
opacity: 0;
transform: translateX(100%);
}
@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(100%);
}
to {
opacity: 1;
transform: translateX(0);
}
}
.pulse {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
.bounce {
animation: bounce 1s infinite;
}
@keyframes bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}
.rotate {
animation: rotate 2s linear infinite;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.flip-horizontal {
animation: flipHorizontal 0.8s ease-in-out;
}
@keyframes flipHorizontal {
0% {
transform: rotateY(0);
}
50% {
transform: rotateY(180deg);
}
100% {
transform: rotateY(360deg);
}
}
/* 图片优化 */
img {
max-width: 100%;
height: auto;
}
/* 图片悬停效果 */
.img-hover-zoom {
overflow: hidden;
border-radius: var(--border-radius);
}
.img-hover-zoom img {
transition: transform 0.5s ease;
transform-origin: center center;
}
.img-hover-zoom:hover img {
transform: scale(1.1);
}
/* 图片圆角效果 */
.img-rounded {
border-radius: var(--border-radius);
}
.img-circle {
border-radius: 50%;
}
/* 图片边框 */
.img-bordered {
border: 3px solid var(--primary-color);
}
.img-shadow {
box-shadow: var(--box-shadow);
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 8px;
@@ -566,6 +940,32 @@ img {
background: var(--primary-dark);
}
/* 火狐滚动条 */
* {
scrollbar-width: thin;
scrollbar-color: var(--primary-color) #f1f1f1;
}
/* 自定义滚动条样式 */
.custom-scrollbar::-webkit-scrollbar {
width: 12px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: linear-gradient(var(--primary-color), var(--primary-dark));
border-radius: 10px;
border: 2px solid #f1f1f1;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: var(--primary-dark);
}
/* 火狐浏览器滚动条 */
* {
scrollbar-width: thin;
@@ -587,6 +987,7 @@ img {
background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
color: var(--text-light);
border: none;
cursor: pointer;
}
.back-to-top:hover {
@@ -600,6 +1001,23 @@ img {
font-size: 1.25rem;
}
/* 新增返回顶部按钮动画 */
.back-to-top-animate {
animation: fadeInUp 0.5s ease-out;
}
/* 返回顶部按钮位置变化 */
.back-to-top-left {
right: auto;
left: 30px;
}
.back-to-top-center {
right: auto;
left: 50%;
transform: translateX(-50%);
}
/* 导航栏动画 */
@keyframes slideDown {
from {
@@ -623,16 +1041,54 @@ img {
}
}
/* 新增导航栏动画 */
.navbar-fade-in {
animation: fadeIn 0.5s ease-out;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.navbar-slide-down {
animation: slideDown 0.3s ease-out;
}
.navbar-slide-up {
animation: slideUp 0.3s ease-out;
}
/* 按钮点击效果 */
.btn:active {
transform: scale(0.95);
}
.btn-hover-effect {
transition: all 0.3s ease;
}
.btn-hover-effect:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.btn-hover-effect:active {
transform: scale(0.95);
}
/* 卡片悬停增强 */
.card {
transition: var(--transition);
border: none;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border-radius: var(--border-radius);
position: relative;
overflow: hidden;
}
.card:hover {
@@ -640,6 +1096,24 @@ img {
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.card-hover-effect {
transition: all 0.3s ease;
}
.card-hover-effect:hover {
transform: translateY(-10px) scale(1.02);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
.card-tilt-effect {
transform-style: preserve-3d;
transition: transform 0.3s ease;
}
.card-tilt-effect:hover {
transform: rotateY(5deg) rotateX(5deg);
}
/* 进度条样式 */
.progress {
height: 8px;
@@ -651,6 +1125,7 @@ img {
.progress-bar {
border-radius: 10px;
background: linear-gradient(90deg, var(--primary-color), var(--primary-light));
transition: width 0.6s ease;
}
.progress-bar.bg-success {
@@ -669,6 +1144,20 @@ img {
background: linear-gradient(90deg, var(--danger-color), #e57373);
}
/* 新增进度条动画 */
.progress-animated .progress-bar {
animation: progressAnimation 2s ease-in-out;
}
@keyframes progressAnimation {
from {
width: 0;
}
to {
width: 100%;
}
}
/* 数字统计增强 */
.count-up {
font-weight: 700;
@@ -676,6 +1165,26 @@ img {
text-shadow: 0 2px 4px rgba(76, 175, 80, 0.2);
}
/* 功能图标样式 */
.feature-icon {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(76, 175, 80, 0.1);
border-radius: 50%;
font-size: 2rem;
color: var(--primary-color);
margin: 0 auto 1rem;
transition: var(--transition);
}
.feature-icon:hover {
background: rgba(76, 175, 80, 0.2);
transform: scale(1.1);
}
/* 面包屑导航样式 */
.breadcrumb {
background-color: transparent;
@@ -684,7 +1193,7 @@ img {
}
.breadcrumb-item {
font-size: 0.9rem;
font-size: var(--font-size-sm);
}
.breadcrumb-item a {
@@ -727,6 +1236,7 @@ img.lazy.loaded {
border-radius: 0.5rem;
padding: 0.75rem 1rem;
transition: var(--transition);
font-size: var(--font-size-base);
}
.form-control:focus {
@@ -1001,4 +1511,13 @@ img.lazy.loaded {
.transform-3d:hover {
transform: rotateY(10deg) rotateX(10deg) scale(1.05);
}
/* 大屏幕新增类 */
.text-lg-left {
text-align: left;
}
.d-lg-flex {
display: flex;
}
}

View File

@@ -131,6 +131,37 @@
.chart-container {
height: 250px;
}
/* 移动端新增优化 */
.mobile-container {
padding-left: 1rem;
padding-right: 1rem;
}
.mobile-section {
padding: 2rem 0;
}
.mobile-card {
margin-bottom: 1rem;
border-radius: 12px;
}
.mobile-text-center {
text-align: center;
}
.mobile-mb-3 {
margin-bottom: 1rem;
}
.mobile-mt-3 {
margin-top: 1rem;
}
.mobile-p-3 {
padding: 1rem;
}
}
/* 平板设备优化 */
@@ -154,6 +185,19 @@
.demo-sidebar {
margin-bottom: 2rem;
}
/* 平板新增优化 */
.tablet-container {
max-width: 720px;
}
.tablet-section {
padding: 3rem 0;
}
.tablet-card {
margin-bottom: 1.5rem;
}
}
/* 大屏幕优化 */
@@ -177,6 +221,23 @@
.metric-number {
font-size: 3rem;
}
/* 大屏幕新增优化 */
.desktop-container {
max-width: 1400px;
}
.desktop-section {
padding: 5rem 0;
}
.desktop-card {
transition: all 0.3s ease;
}
.desktop-card:hover {
transform: translateY(-10px);
}
}
/* 触摸设备优化 */