經常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的問題,現將主要原因和解決方法羅列如下:
1、CSS文件路徑不正確
這個問題屬於Web開發中的基礎問題,一般采用相對路徑會出現這樣的問題,或者樣式文件寫在了模板頁裡面,在內容頁與模板頁不在同一級目錄下時會出現這樣的問題。此時你要清楚Web中相對路徑的規則,如果你不清楚,可以采用絕對路徑的寫法試試就知道是不是路徑的問題了。
2、CSS規則寫法錯誤
這個問題誰也幫不你,只能自己學習CSS的相關知識了。
3、文件編碼問題
有時候,CSS樣式放在aspx文件裡有效,而放在獨立的文件中無效,這樣的問題如果不是路徑問題,則就是編碼問題造成的,可以將CSS文件用記事本打開,再另存為ANSI格式或者UTF-8格式即可。
4、權限問題
這種情況常見的現象是登錄之前樣式無效,登錄之後才有效,這是典型的權限問題造成的。由於web.config配置了所有文件不允許匿名訪問,才會出現這樣的問題,解決方法就是是標記將樣式文件配置為允許匿名訪問。例如:
以下是引用片段:
<configuration>
<location path="允許匿名訪問的文件夾名稱">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>