From 5860dccd60df958202fbbeb8ecff9d783058c30c Mon Sep 17 00:00:00 2001 From: "liweiliang0905@gmail.com" Date: Fri, 23 Jan 2026 18:10:04 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E6=8A=A5=E5=91=8A=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- src/vitals/web/app.py | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/vitals/web/app.py b/src/vitals/web/app.py index e1903d0..18372e7 100644 --- a/src/vitals/web/app.py +++ b/src/vitals/web/app.py @@ -6471,6 +6471,38 @@ def get_report_page_html() -> str: padding: 2px 6px; border-radius: 6px; } + /* 移动端适配 */ + @media (max-width: 768px) { + .nav { display: none !important; } + body { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); } + .container { padding: 12px; } + header { padding: 20px 16px; margin-bottom: 16px; } + header h1 { font-size: 1.5rem; } + .card { padding: 16px; margin-bottom: 12px; } + .actions { grid-template-columns: 1fr 1fr; gap: 10px; } + .btn { + min-height: 48px; + padding: 14px 16px; + font-size: 1rem; + display: flex; + align-items: center; + justify-content: center; + } + } + @media (max-width: 400px) { + .actions { grid-template-columns: 1fr; } + } + /* 移动端底部导航样式 */ + .mobile-nav { position: fixed; bottom: 0; left: 0; right: 0; height: 64px; background: white; border-top: 1px solid #E2E8F0; display: none; justify-content: space-around; align-items: center; z-index: 50; } + .mobile-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 64px; min-height: 44px; color: #64748B; text-decoration: none; cursor: pointer; } + .mobile-nav-item.active { color: #9d50bb; } + .nav-icon { width: 24px; height: 24px; margin-bottom: 2px; } + .nav-label { font-size: 10px; font-weight: 500; } + .more-menu { position: fixed; bottom: 72px; right: 16px; background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); padding: 8px 0; z-index: 51; } + .more-menu.hidden { display: none; } + .more-menu-item { display: block; padding: 12px 24px; color: #1E293B; text-decoration: none; } + .more-menu-item:hover { background: #F1F5F9; } + @media (max-width: 768px) { .mobile-nav { display: flex; } } @@ -6543,6 +6575,26 @@ def get_report_page_html() -> str: } } + + + + + """