/* 基本样式和Flex布局 */ body { font-family: Arial, sans-serif; margin: 0; padding: 0; } .header { padding: 10px; text-align: center; border-bottom: 1px solid #ddd; } .container { max-width: 1200px; margin: 0 auto; padding: 15px; } .controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; padding: 10px; border: 1px solid #ddd; border-radius: 5px; } .control-group { display: flex; align-items: center; gap: 5px; } select, input, button { padding: 5px; } button { cursor: pointer; } .chart-container { margin-bottom: 20px; border: 1px solid #ddd; border-radius: 5px; padding: 10px; } canvas { width: 100%; max-height: 400px; } .table-container { overflow-x: auto; margin-bottom: 20px; border: 1px solid #ddd; border-radius: 5px; padding: 10px; } table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #f8f8f8; } tr:nth-child(even) { background-color: #f9f9f9; } .footer { text-align: center; padding: 10px; border-top: 1px solid #ddd; } /* 响应式设计 */ @media (max-width: 768px) { .controls { flex-direction: column; align-items: stretch; } .control-group { justify-content: space-between; } }