From a2124a2175c4f437ef12f6fb860f115b951dc4f1 Mon Sep 17 00:00:00 2001 From: pagfcvmb9 <1325529045@qq.com> Date: Wed, 19 Nov 2025 21:46:20 +0800 Subject: [PATCH] ADD file via upload --- static/css/style.css | 346 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 static/css/style.css diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..9fd69d5 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,346 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Microsoft YaHei', Arial, sans-serif; + line-height: 1.6; + color: #333; + background-color: #f5f5f5; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +header { + text-align: center; + margin-bottom: 30px; + background: white; + padding: 20px; + border-radius: 10px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +header h1 { + color: #2c3e50; + margin-bottom: 10px; +} + +.main-nav { + display: flex; + justify-content: center; + margin-bottom: 30px; + background: white; + border-radius: 10px; + padding: 10px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +.nav-item { + padding: 10px 20px; + text-decoration: none; + color: #333; + border-radius: 5px; + margin: 0 5px; + transition: all 0.3s ease; +} + +.nav-item:hover, .nav-item.active { + background-color: #3498db; + color: white; +} + +.dashboard { + background: white; + padding: 30px; + border-radius: 10px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 20px; + margin-bottom: 30px; +} + +.stat-card { + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + color: white; + padding: 20px; + border-radius: 10px; + text-align: center; +} + +.stat-card h3 { + font-size: 14px; + margin-bottom: 10px; + opacity: 0.9; +} + +.stat-number { + font-size: 2em; + font-weight: bold; +} + +.quick-actions { + margin-bottom: 30px; +} + +.quick-actions h2 { + margin-bottom: 15px; + color: #2c3e50; +} + +.action-buttons { + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +.btn { + padding: 10px 20px; + border: none; + border-radius: 5px; + cursor: pointer; + text-decoration: none; + display: inline-block; + text-align: center; + transition: all 0.3s ease; + font-size: 14px; +} + +.btn-primary { + background-color: #3498db; + color: white; +} + +.btn-secondary { + background-color: #95a5a6; + color: white; +} + +.btn-success { + background-color: #27ae60; + color: white; +} + +.btn-danger { + background-color: #e74c3c; + color: white; +} + +.btn-info { + background-color: #17a2b8; + color: white; +} + +.btn-large { + padding: 15px 30px; + font-size: 18px; +} + +.btn:hover { + opacity: 0.9; + transform: translateY(-2px); +} + +.recent-activity h2 { + margin-bottom: 15px; + color: #2c3e50; +} + +.records-list { + max-height: 300px; + overflow-y: auto; +} + +.record-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px; + border-bottom: 1px solid #eee; +} + +.record-item:last-child { + border-bottom: none; +} + +.student-name { + font-weight: bold; +} + +.call-time { + color: #7f8c8d; + font-size: 0.9em; +} + +.score-change { + font-weight: bold; + padding: 2px 8px; + border-radius: 10px; + font-size: 0.8em; +} + +.score-change.positive { + background-color: #d4edda; + color: #155724; +} + +.score-change.negative { + background-color: #f8d7da; + color: #721c24; +} + +/* 点名页面样式 */ +.roll-call-interface { + background: white; + padding: 30px; + border-radius: 10px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +.class-info { + text-align: center; + margin-bottom: 30px; +} + +.class-info h2 { + color: #2c3e50; + margin-bottom: 10px; +} + +.roll-call-result { + text-align: center; + margin-bottom: 30px; +} + +.student-card { + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + color: white; + padding: 30px; + border-radius: 15px; + margin-bottom: 20px; + box-shadow: 0 4px 15px rgba(0,0,0,0.2); +} + +.student-card h3 { + font-size: 2em; + margin-bottom: 10px; +} + +.hidden { + display: none; +} + +.score-actions { + margin-bottom: 30px; +} + +.score-actions h3 { + margin-bottom: 15px; + color: #2c3e50; +} + +.recent-calls h3 { + margin-bottom: 15px; + color: #2c3e50; +} + +.calls-list { + max-height: 200px; + overflow-y: auto; +} + +.call-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 12px; + border-bottom: 1px solid #eee; +} + +.call-item:last-child { + border-bottom: none; +} + +.back-link { + color: #3498db; + text-decoration: none; + margin-top: 10px; + display: inline-block; +} + +.back-link:hover { + text-decoration: underline; +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .container { + padding: 10px; + } + + .stats-grid { + grid-template-columns: 1fr; + } + + .action-buttons { + flex-direction: column; + } + + .btn { + width: 100%; + } +} +/* 积分页面样式 */ +.scores-container { + background: white; + padding: 30px; + border-radius: 10px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +.class-filter { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; +} + +.ranking-table table { + width: 100%; + border-collapse: collapse; +} + +.ranking-table th, .ranking-table td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #eee; +} + +.ranking-table th { + background-color: #f8f9fa; + font-weight: bold; +} + +.ranking-table .rank { + font-weight: bold; + color: #3498db; +} + +.ranking-table .score.positive { + color: #27ae60; + font-weight: bold; +} + +.ranking-table .score.negative { + color: #e74c3c; + font-weight: bold; +} \ No newline at end of file