/* pages/statistics/statistics.wxss */ .container { padding: 0; background: transparent; /* 确保顶部有足够的安全区 */ padding-top: max(env(safe-area-inset-top), 16px); /* 确保底部有足够的安全区 */ padding-bottom: max(env(safe-area-inset-bottom), 80px); } /* 顶部标题 */ .header-section { padding: 16px; text-align: center; } .header-title { display: block; font-size: 18px; font-weight: 600; color: #333; margin-bottom: 4px; } .header-subtitle { display: block; font-size: 12px; color: #999; } /* 总体统计 */ .overview-section { padding: 0 12px; margin-bottom: 16px; } .overview-card { background: #ffffff; border-radius: 8px; padding: 16px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .overview-header { margin-bottom: 16px; } .overview-title { font-size: 16px; font-weight: 600; color: #333; } .overview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; } .overview-item { text-align: center; } .overview-number { display: block; font-size: 20px; font-weight: 600; color: #0052d9; margin-bottom: 4px; } .overview-label { display: block; font-size: 12px; color: #999; } /* 周数据统计 */ .weekly-section { padding: 0 12px; margin-bottom: 16px; } .section-header { margin-bottom: 12px; padding: 0 4px; } .section-title { font-size: 16px; font-weight: 600; color: #333; } .weekly-card { background: #ffffff; border-radius: 8px; padding: 16px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .weekly-chart { display: flex; justify-content: space-between; align-items: flex-end; height: 120px; gap: 6px; } .chart-bar { display: flex; flex-direction: column; align-items: center; flex: 1; } .bar-container { display: flex; flex-direction: column; align-items: center; gap: 1px; margin-bottom: 6px; } .bar { width: 16px; border-radius: 1px; min-height: 2px; } .bar.created { background: #0052d9; } .bar.completed { background: #00a870; } .chart-label { font-size: 10px; color: #999; margin-bottom: 2px; } .chart-value { font-size: 8px; color: #ccc; } /* 优先级统计 */ .priority-section { padding: 0 12px; margin-bottom: 16px; } .priority-list { display: flex; flex-direction: column; gap: 8px; } .priority-item { background: #ffffff; border-radius: 6px; padding: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .priority-info { display: flex; flex-direction: column; gap: 8px; } .priority-header { display: flex; justify-content: space-between; align-items: center; } .priority-name { font-size: 14px; font-weight: 600; color: #333; } .priority-rate { font-size: 14px; font-weight: 600; color: #0052d9; } .priority-stats { display: flex; justify-content: space-between; align-items: center; } .priority-count { font-size: 12px; color: #999; } /* 分类统计 */ .category-section { padding: 0 12px; margin-bottom: 16px; } .category-list { display: flex; flex-direction: column; gap: 8px; } .category-item { background: #ffffff; border-radius: 6px; padding: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .category-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; } .category-name { font-size: 14px; font-weight: 600; color: #333; } .category-count { font-size: 12px; color: #999; } .category-stats { display: flex; justify-content: space-between; align-items: center; } .category-completed { font-size: 12px; color: #999; } .category-rate { font-size: 12px; font-weight: 600; color: #0052d9; } /* 最近活动 */ .activity-section { padding: 0 12px; margin-bottom: 16px; } .activity-list { display: flex; flex-direction: column; gap: 8px; } .activity-item { background: #ffffff; border-radius: 6px; padding: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .activity-content { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; } .activity-info { flex: 1; display: flex; flex-direction: column; gap: 2px; } .activity-text { font-size: 14px; color: #333; line-height: 1.4; } .activity-text.completed { text-decoration: line-through; color: #999; } .activity-time { font-size: 12px; color: #999; } .activity-status { display: flex; flex-direction: column; gap: 4px; } /* 数据管理 */ .data-section { padding: 0 12px; margin-bottom: 16px; } .data-actions { display: flex; flex-direction: column; gap: 8px; } .action-btn { margin: 0; } /* 动画效果 */ .fade-in { animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* 响应式设计 */ @media (max-width: 375px) { .overview-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } .weekly-chart { height: 150px; } .bar { width: 16px; } }