AI 生成: 基于AI的酒店推荐系统,集成地图路线与距离显示,使用Flask后端与Leaflet前端。

This commit is contained in:
admin
2026-10-01 15:18:18 +08:00
commit e3579ee139
6 changed files with 254 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', Arial, sans-serif; background: #f0f2f5; color: #333; }
.container { display: flex; flex-direction: column; height: 100vh; }
header { background: linear-gradient(135deg, #667eea, #764ba2); color: white; padding: 16px 24px; }
header h1 { font-size: 22px; }
header p { font-size: 13px; opacity: 0.9; margin-top: 4px; }
.main { display: flex; flex: 1; overflow: hidden; }
.sidebar { width: 340px; background: white; padding: 20px; overflow-y: auto; box-shadow: 2px 0 8px rgba(0,0,0,0.05); }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: #555; }
.form-group input[type="text"], .form-group input[type="number"] { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; }
.checkboxes { display: flex; flex-wrap: wrap; gap: 8px; }
.checkboxes label { font-size: 13px; display: flex; align-items: center; gap: 4px; background: #f5f5f5; padding: 6px 10px; border-radius: 20px; cursor: pointer; }
button#searchBtn { width: 100%; padding: 12px; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
button#searchBtn:hover { opacity: 0.9; }
.hotel-list { margin-top: 20px; }
.hotel-card { background: #fafafa; border: 1px solid #eee; border-radius: 10px; padding: 12px; margin-bottom: 10px; cursor: pointer; transition: all 0.2s; }
.hotel-card:hover { border-color: #667eea; box-shadow: 0 2px 8px rgba(102,126,234,0.15); }
.hotel-card.active { border-color: #667eea; background: #f0f4ff; }
.hotel-card h3 { font-size: 15px; margin-bottom: 4px; }
.hotel-card .meta { font-size: 12px; color: #888; display: flex; justify-content: space-between; }
.hotel-card .tags { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; }
.hotel-card .tags span { font-size: 11px; background: #e8ecff; color: #5566cc; padding: 2px 8px; border-radius: 10px; }
.placeholder { color: #aaa; font-size: 13px; text-align: center; padding: 20px 0; }
.map-container { flex: 1; }
#map { width: 100%; height: 100%; }