/* app/static/css/overdue_analysis.css */ /* 保留您现有的 CSS 样式 */ .stats-cards .stats-card { border-left: 4px solid #007bff; } #current-overdue { border-left-color: #dc3545; } #current-overdue .card-value { color: #dc3545; } #returned-overdue { border-left-color: #ffc107; } #returned-overdue .card-value { color: #ffc107; } #overdue-rate { border-left-color: #28a745; } #overdue-rate .card-value { color: #28a745; } .chart-legend { display: flex; flex-wrap: wrap; margin-top: 15px; gap: 15px; } .legend-item { display: flex; align-items: center; font-size: 14px; } .legend-color { width: 15px; height: 15px; border-radius: 4px; margin-right: 5px; } /* 添加下面的 CSS 修复图表容器问题 */ .chart-container { position: relative; height: 400px; /* 固定高度 */ overflow: hidden; /* 防止内容溢出 */ margin-bottom: 30px; } .chart-container.half { min-height: 350px; max-height: 380px; /* 最大高度限制 */ } .chart-container canvas { max-height: 100%; width: 100% !important; height: 320px !important; /* 确保固定高度 */ } /* 修复图表行的问题 */ .chart-row { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; align-items: stretch; /* 确保两个容器高度一致 */ } .chart-row .half { flex: 1 1 calc(50% - 10px); min-width: 300px; display: flex; flex-direction: column; } /* 添加一个明确的底部间距,防止页面无限延伸 */ .statistics-container { padding-bottom: 50px; } /* 响应式调整 */ @media (max-width: 768px) { .chart-row { flex-direction: column; } .chart-container.half { width: 100%; margin-bottom: 20px; } }