β

网页加载了CSS,却不生效的奇葩问题

很多人在玩django的时候,是加载不了CSS或者其他静态资源文件。但我今天遇到一个很奇怪的现象,加载了CSS,然而页面还是一场凌乱,丑陋不堪,通过chrome查看,发现样式根本就没有生效。但查看network,这些css都正常加载,而且查看 response 都能看到。同样通过chrome查看元素,无论是通过id设置的样式,还是通过class设置的样式统统没有生效。

说实在这就有点尴尬。既然都成功加载了,为什么不生效呢。这个django工程是很久前的。这次重新打开就这样了,莫名奇妙。在网上看到有人说,需要在引入的css里面加入编码,类似如下:
<link type="text/css" href="{%static 'appcms/skins/blog/css/content.css' %}" rel="stylesheet" charset="utf-8"/>


我把所有的css样式都加上了 charset="utf-8" , 再次刷新页面,发现居然有部分CSS 生效了,但还是有几个CSS 文件并没有生效。既然 charset ="utf-8" 有部分效果,那就说明真是编码问题了。于是我把所有css样式重新用编辑器打开,并保存格式为utf-8的文件。然后重新刷新网页,这次居然全部正常了。

总结,可能是在eclipse里面什么时候不小心改了编码,但自己并不记得了。但都是英文字母,没有中文,为什么加载了css,并且在浏览器中,根据CSS路径,都可以下载下来,但页面不生效。看来即使是英文字母,对于编码也很重要。

发表评论