這是前端開發很常見的一件事:
- CSS 越後面載入 → 優先度越高
- 全域 CSS → 通常優先度更高
- 當頁面切換、載入不同模組 → 其他頁面的 CSS 可能意外蓋掉你的樣式
要避免這種情況,有兩種解法:
- 調整 CSS 載入順序
- 讓 CSS 僅作用在需要的範圍
最後我選擇了第二種:
把 userinfo.css 從全域的 App.razor 裡移除,改成只放在 NavTopMenu.razor.cs 裡。
這樣做的好處是很明確的:
✔ 不會再被其他頁面的 CSS 汙染
✔ 樣式只作用在元件內
✔ 避免日後新增頁面造成連動破壞
可以說是更乾淨、也更安全的做法。