/* 主CSS文件 - 基础样式和重置 */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { /* 颜色变量 - 企业化简约风格 */ --primary-color: #1e6fbb; /* Gitee蓝 */ --primary-dark: #155a9e; --primary-light: #2c8ae6; --secondary-color: #667eea; --secondary-dark: #764ba2; --text-primary: #333333; --text-secondary: #666666; --text-light: #999999; --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-dark: #1a1a1a; --border-color: #e0e0e0; --success-color: #28a745; --warning-color: #ffc107; --danger-color: #dc3545; --info-color: #17a2b8; /* 间距变量 */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-xxl: 3rem; /* 字体变量 */ --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --font-size-xs: 0.75rem; --font-size-sm: 0.875rem; --font-size-md: 1rem; --font-size-lg: 1.125rem; --font-size-xl: 1.25rem; --font-size-xxl: 1.5rem; --font-size-xxxl: 2rem; /* 阴影变量 */ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1); --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1); --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1); --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.15); /* 边框半径 */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-round: 50%; /* 过渡动画 */ --transition-fast: 150ms ease; --transition-normal: 300ms ease; --transition-slow: 500ms ease; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: var(--font-family); font-size: var(--font-size-md); line-height: 1.6; color: var(--text-primary); background-color: var(--bg-primary); overflow-x: hidden; } /* 容器 */ .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-md); } /* 排版 */ h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.3; margin-bottom: var(--spacing-md); } h1 { font-size: var(--font-size-xxxl); } h2 { font-size: var(--font-size-xxl); } h3 { font-size: var(--font-size-xl); } h4 { font-size: var(--font-size-lg); } h5 { font-size: var(--font-size-md); } h6 { font-size: var(--font-size-sm); } p { margin-bottom: var(--spacing-md); } a { color: var(--primary-color); text-decoration: none; transition: color var(--transition-fast); } a:hover { color: var(--primary-dark); } /* 按钮 */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-lg); font-size: var(--font-size-md); font-weight: 500; line-height: 1.5; border: 2px solid transparent; border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition-normal); text-align: center; white-space: nowrap; user-select: none; } .btn-primary { background-color: var(--primary-color); color: white; border-color: var(--primary-color); } .btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); color: white; transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-secondary { background-color: var(--secondary-color); color: white; border-color: var(--secondary-color); } .btn-secondary:hover { background-color: var(--secondary-dark); border-color: var(--secondary-dark); color: white; transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-outline { background-color: transparent; color: var(--primary-color); border-color: var(--primary-color); } .btn-outline:hover { background-color: var(--primary-color); color: white; transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-large { padding: var(--spacing-md) var(--spacing-xl); font-size: var(--font-size-lg); } /* 工具类 */ .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .mt-1 { margin-top: var(--spacing-xs); } .mt-2 { margin-top: var(--spacing-sm); } .mt-3 { margin-top: var(--spacing-md); } .mt-4 { margin-top: var(--spacing-lg); } .mt-5 { margin-top: var(--spacing-xl); } .mb-1 { margin-bottom: var(--spacing-xs); } .mb-2 { margin-bottom: var(--spacing-sm); } .mb-3 { margin-bottom: var(--spacing-md); } .mb-4 { margin-bottom: var(--spacing-lg); } .mb-5 { margin-bottom: var(--spacing-xl); } /* 页面过渡动画 */ .page-transition { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--primary-color); z-index: 9999; opacity: 0; pointer-events: none; transition: opacity var(--transition-normal); } .page-transition.active { opacity: 1; pointer-events: all; } /* 响应式设计 */ @media (max-width: 768px) { :root { --font-size-xxxl: 1.75rem; --font-size-xxl: 1.25rem; --font-size-xl: 1.125rem; --font-size-lg: 1rem; } .container { padding: 0 var(--spacing-sm); } .btn-large { padding: var(--spacing-sm) var(--spacing-lg); font-size: var(--font-size-md); } } @media (max-width: 480px) { :root { --font-size-xxxl: 1.5rem; --font-size-xxl: 1.125rem; } }