/* 全局样式 */ :root { --primary-color: #4CAF50; /* 植物绿色 */ --secondary-color: #9C27B0; /* 花卉紫色 */ --success-color: #66BB6A; /* 嫩绿色 */ --info-color: #42A5F5; /* 天空蓝色 */ --warning-color: #FFA726; /* 橙黄色 */ --danger-color: #EF5350; /* 红色 */ --light-color: #F1F8E9; /* 淡绿色背景 */ --dark-color: #2E7D32; /* 深绿色 */ } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; line-height: 1.6; color: #333; position: relative; min-height: 100vh; } /* 导航栏样式 */ .navbar { padding: 1rem 0; transition: all 0.3s ease; } .navbar-brand { font-size: 1.5rem; font-weight: 700; } .navbar-nav .nav-link { font-weight: 600; color: #495057; margin: 0 0.5rem; transition: color 0.3s ease; } .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--primary-color); } /* 英雄区域样式 */ .hero-section { background: linear-gradient(135deg, #4CAF50 0%, #66BB6A 100%); /* 绿色渐变 */ margin-top: 76px; position: relative; } .min-vh-75 { min-height: 75vh; } .hero-section h1 { font-size: 3.5rem; font-weight: 800; margin-bottom: 1.5rem; } .hero-section p { font-size: 1.25rem; margin-bottom: 2rem; } /* 按钮样式 */ .btn { border-radius: 0.5rem; padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.3s ease; border: none; } .btn-primary { background: var(--primary-color); border-color: var(--primary-color); } .btn-primary:hover { background: #3a56c4; border-color: #3a56c4; transform: translateY(-2px); } .btn-outline-primary { border: 2px solid var(--primary-color); color: var(--primary-color); } .btn-outline-primary:hover { background: var(--primary-color); color: white; } /* 特性图标样式 */ .feature-icon { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; } .card { border-radius: 1rem; transition: all 0.3s ease; border: none; } .card:hover { transform: translateY(-5px); box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .card:hover .feature-icon { transform: scale(1.1); } /* 产品卡片样式 */ .product-card { transition: all 0.3s ease; } .product-card:hover { transform: translateY(-8px); } .product-card img { height: 200px; object-fit: cover; border-top-left-radius: 1rem; border-top-right-radius: 1rem; } /* 新闻卡片样式 */ .news-card { transition: all 0.3s ease; height: 100%; } .news-card:hover { transform: translateY(-3px); } .news-img { height: 200px; object-fit: cover; } /* 页脚样式 */ /* 修复body样式 */ body { position: relative; min-height: 100vh; /* 确保body有足够高度 */ /* 移除了overflow-x: hidden */ } /* 增强页脚样式 */ footer { position: relative; z-index: 10; /* 提高层级避免被遮挡 */ background: linear-gradient(135deg, #2E7D32 0%, #388E3C 100%); /* 深绿色渐变 */ } /* 页面标题样式 */ .page-header { background: linear-gradient(135deg, #4CAF50 0%, #66BB6A 100%); margin-top: 76px; } footer h5, footer h6 { color: white; margin-bottom: 1rem; } footer a { color: white !important; transition: color 0.3s ease; } footer a:hover { color: var(--primary-color); } .social-links a { font-size: 1.5rem; transition: all 0.3s ease; } .social-links a:hover { transform: translateY(-3px); } /* 表单验证样式 */ .invalid-feedback { display: block; font-size: 0.875rem; color: var(--danger-color); } .is-invalid { border-color: var(--danger-color) !important; } .is-invalid:focus { box-shadow: 0 0 0 0.2rem rgba(231, 74, 59, 0.25); } /* 客户评价样式 */ .avatar { width: 80px; height: 80px; border-radius: 50%; background: var(--light-color); /* 性能优化样式 */ .lazy-load { opacity: 0; transition: opacity 0.3s ease; } .lazy-load.loaded { opacity: 1; } display: flex; align-items: center; justify-content: center; } .rating { font-size: 1.2rem; } .team-card img { transition: transform 0.3s ease; } .team-card:hover img { transform: scale(1.05); } /* 加载动画 */ .spinner-border-sm { width: 1rem; height: 1rem; } /* 价格卡片样式 */ .pricing-card { transition: all 0.3s ease; } .pricing-card:hover { transform: translateY(-10px); } .pricing-price { font-size: 2rem; font-weight: bold; } /* 测试imonial卡片样式 */ .testimonial-card { transition: all 0.3s ease; } .testimonial-card:hover { transform: translateY(-5px); } .testimonial-avatar { width: 50px; height: 50px; font-weight: bold; font-size: 1.2rem; } /* 联系卡片样式 */ .contact-card { transition: all 0.3s ease; } .contact-card:hover { transform: translateY(-5px); } .contact-icon { width: 70px; height: 70px; display: flex; align-items: center; justify-content: center; } /* 社交联系样式 */ .social-contact-links a { transition: all 0.3s ease; } .social-contact-links a:hover { transform: translateY(-3px); } /* 响应式设计 */ @media (max-width: 768px) { .hero-section h1 { font-size: 2.5rem; } .min-vh-75 { min-height: 60vh; } .timeline::before { left: 30px; } .timeline-date { width: fit-content; margin-left: 30px; } } @media (max-width: 576px) { .hero-section h1 { font-size: 2rem; } .btn-lg { padding: 0.5rem 1rem; font-size: 0.9rem; } .navbar-brand { font-size: 1.2rem; } } /* 动画效果 */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .fade-in-up { animation: fadeInUp 0.6s ease-out; } /* 工具类 */ .text-gradient { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .bg-gradient-primary { background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); } .shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } .rounded { border-radius: 0.5rem; } /* 交互效果增强样式 */ /* 返回顶部按钮 */ .back-to-top { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; border-radius: 50%; background: var(--primary-color); color: white; border: none; font-size: 1.5rem; cursor: pointer; opacity: 0; transform: translateY(20px); transition: all 0.3s ease; z-index: 1000; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } .back-to-top.show { opacity: 1; transform: translateY(0); } .back-to-top:hover { background: var(--secondary-color); transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); } /* 移动端菜单动画 */ .navbar-toggler { transition: all 0.3s ease; } .navbar-toggler.active { transform: rotate(90deg); } .navbar-collapse { transition: all 0.3s ease; } /* 页面过渡效果 */ .page-entering { animation: pageEnter 0.3s ease-out; } .page-leaving { animation: pageLeave 0.3s ease-in; } @keyframes pageEnter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pageLeave { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-20px); } } /* 加载状态样式 */ .btn:disabled { opacity: 0.7; cursor: not-allowed; } .spinner-border-sm { margin-right: 0.5rem; } /* 增强悬停效果 */ .card, .product-card, .news-card { transition: all 0.3s ease; cursor: pointer; } .btn, .nav-link { transition: all 0.2s ease; } /* 表单聚焦效果增强 */ .form-control:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.3rem rgba(76, 175, 80, 0.25); } /* 滚动条美化 */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } ::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--secondary-color); } /* 焦点可见性增强 */ *:focus { outline: 2px solid var(--primary-color); outline-offset: 2px; } /* 减少运动偏好 */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .back-to-top { transition: none; } }