govin cad96e585f frontend: own the viewport contract in a global stylesheet
Element Plus ships no html/body reset, so the browser default
`body { margin: 8px }` applied, while the app shell was declared
`min-height: 100vh`. The document therefore measured one viewport plus
8px: a vertical scrollbar was permanently visible on the right edge even
for short pages, every page was pushed 8px off the intended 20px gutter,
and the window and .el-main both scrolled.

Add src/styles/base.css, imported once from main.ts after Element Plus,
which now owns the reset and the shell contract:

- html/body/#app/.app-shell are exactly one viewport tall with no margin;
  body never scrolls, so the window has no scrollbar
- .app-main is the single scroll container (min-height: 0, overflow-y
  auto, overflow-x hidden) with a slim low-contrast scrollbar that only
  shows when content truly exceeds the viewport
- global guards against content escaping the gutter: media max-width,
  wrapping for long code strings
- shared .page helper for a consistent per-view vertical rhythm

Also let the header menu track its content box, so its active underline
stays flush with the header separator instead of spilling past it, and
drop the now-unused RouterLink import.
2026-09-18 14:34:34 +08:00
2026-09-15 03:04:50 +08:00
S
Description
No description provided
Readme 541 KiB
Languages
Python 62.3%
Vue 29.1%
TypeScript 6.6%
CSS 1.8%
Mako 0.1%