ASP.NET 2.0 專案中 CSS 樣式不生效是常見困擾,本文系統歸納四大核心成因與針對性解決方案,助您快速定位修復。
徵兆:樣式完全不套用、開發者工具顯示 404。
成因:相對路徑在 MasterPage/內容頁目錄層級不同時失效;樣式寫在母版頁但內容頁層級不同。
解決:
<link href="~/Styles/main.css" runat="server" />(需加 runat="server")<head> 使用 ResolveUrl("~/Styles/main.css") 動態解析徵兆:路徑正確但樣式不生效、被覆寫。
解決:
徵兆:內嵌在 .aspx 有效,獨立 .css 檔無效;中文類別名/內容亂碼。
成因:.aspx 預設 UTF-8,.css 檔儲存為 ANSI/Big5。
解決:
@charset "UTF-8";徵兆:未登入時樣式失效(版面崩壞),登入後正常。
成因:web.config 設定 <deny users="?" /> 封鎖匿名存取,導致 CSS/JS/圖片被拒。
解決:在 web.config 中針對靜態資源目錄允許匿名:
<configuration>
<location path="Styles">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="Scripts">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="Images">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
</configuration>
依序排查通常能在 5 分鐘內定位根因。