/* 组件样式文件 */ /* 导航栏样式 */ .navbar { background-color: var(--bg-primary); border-bottom: 1px solid var(--border-color); padding: var(--spacing-md) 0; position: sticky; top: 0; z-index: 1000; box-shadow: var(--shadow-sm); } .navbar-container { display: flex; align-items: center; justify-content: space-between; } .navbar-brand { display: flex; align-items: center; gap: var(--spacing-sm); text-decoration: none; color: var(--text-primary); font-weight: 600; font-size: var(--font-size-lg); } .navbar-logo { height: 32px; width: auto; } .navbar-menu { display: flex; gap: var(--spacing-lg); list-style: none; margin: 0; padding: 0; } .navbar-item { position: relative; } .navbar-link { color: var(--text-secondary); text-decoration: none; padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-sm); transition: all var(--transition-fast); font-weight: 500; } .navbar-link:hover { color: var(--primary-color); background-color: var(--bg-secondary); } .navbar-link.active { color: var(--primary-color); background-color: rgba(30, 111, 187, 0.1); } /* 页脚样式 */ .footer { background-color: var(--bg-dark); color: white; padding: var(--spacing-xl) 0; margin-top: auto; } .footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-xl); } .footer-section h3 { color: white; margin-bottom: var(--spacing-lg); font-size: var(--font-size-lg); } .footer-links { list-style: none; padding: 0; margin: 0; } .footer-links li { margin-bottom: var(--spacing-sm); } .footer-links a { color: rgba(255, 255, 255, 0.8); text-decoration: none; transition: color var(--transition-fast); } .footer-links a:hover { color: white; } .footer-bottom { text-align: center; padding-top: var(--spacing-xl); margin-top: var(--spacing-xl); border-top: 1px solid rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.6); } /* 卡片组件 */ .card { background-color: var(--bg-primary); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: var(--spacing-lg); box-shadow: var(--shadow-sm); transition: all var(--transition-normal); } .card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); } .card-header { margin-bottom: var(--spacing-md); } .card-title { font-size: var(--font-size-lg); font-weight: 600; margin: 0; } .card-content { color: var(--text-secondary); } /* 页面头部 */ .page-header { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; padding: var(--spacing-xxl) 0; text-align: center; } .page-title { font-size: var(--font-size-xxxl); font-weight: 700; margin-bottom: var(--spacing-md); } .page-subtitle { font-size: var(--font-size-lg); opacity: 0.9; margin-bottom: var(--spacing-xl); max-width: 600px; margin-left: auto; margin-right: auto; } .page-actions { display: flex; gap: var(--spacing-md); justify-content: center; flex-wrap: wrap; } /* 特性卡片 */ .feature-card { height: 100%; display: flex; flex-direction: column; } .feature-header { display: flex; align-items: center; gap: var(--spacing-md); margin-bottom: var(--spacing-md); } .feature-icon { width: 48px; height: 48px; background-color: rgba(30, 111, 187, 0.1); border-radius: var(--radius-round); display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-size: var(--font-size-xl); } .feature-title { font-size: var(--font-size-lg); font-weight: 600; margin: 0; flex: 1; } .feature-badge { background-color: var(--primary-color); color: white; padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-sm); font-size: var(--font-size-xs); font-weight: 600; } .feature-content { flex: 1; } .feature-desc { color: var(--text-secondary); margin-bottom: var(--spacing-md); } .feature-list { list-style: none; padding: 0; margin: 0; } .feature-item { display: flex; align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-sm); color: var(--text-secondary); } .feature-item i { color: var(--success-color); } .feature-footer { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; margin-top: var(--spacing-md); padding-top: var(--spacing-md); border-top: 1px solid var(--border-color); } .feature-tag { background-color: var(--bg-secondary); color: var(--text-secondary); padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-sm); font-size: var(--font-size-xs); } /* 响应式设计 */ @media (max-width: 768px) { .navbar-menu { display: none; } .navbar-container { flex-direction: column; gap: var(--spacing-md); } .footer-container { grid-template-columns: 1fr; } .page-actions { flex-direction: column; align-items: center; } .page-actions .btn { width: 100%; max-width: 300px; } }