浏览器加载不上css,样式走丢

来自:http://www.cnblogs.com/crizygo/p/5466444.html

问题描述:使用eclipse修改样式文件,浏览器的页面一时显示一时不显示,最后直接没有加载最新的css样式代码,直接使用旧样式代码,清除了浏览器缓存,清除了eclipse缓存,以及切换不同的浏览器查看网页,都没有任何变化,一样的结果——不加载最新的css样式文件。

尝试解决方法:1、清除了浏览器缓存;2、清除了eclipse缓存;3、切换不同的浏览器查看网页。

最终解决方法:给css样式文件开头加上:@charset "utf-8";解决问题了。

--------------------------------------------------------------------------------------

解决方法来源:

如果你的浏览器加载不上外联css(注意是全部加载不上,这里排除部分样式不兼容问题):

1.首先考虑是否css路径错误。

2.在样式最开始有写注释,而当中文注释中的汉字为奇数个数时,会与结尾的“*/”组合成合法字符,以至于注释不能及时关闭,这样后续样式全部被自动注释。

3.css文件中指定的编码与页面不统一,浏览器用页面编码解析css,自然会出错。我的IE更新到IE11时遇到了这个问题,html给的gb2312,css文件头给了的@charset"utf-8",css完全加不上。

例:<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

<link href="join_us.css" type="text/css" rel="stylesheet" charset=“utf-8”>

(1) 外联css文件开头给了@charset "utf-8"

(2)CSS文件中未指定@charset头声明,导致IE默认使用页面编码来解码CSS文件。

在这里解释一下,gb2312和gbk都是较早的国标码,主要用于编解码常用汉字。而utf-8更国际化一些,同时适用中文,基于英文的平台使用utf-8。GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换。


4.IE不支持引入外部的Css文件,并且提示MINE Type类型不匹配。.css文件不是minetype 类型,原因可能是这个.css文件是你创建的其他类型(比如txt)文件然后改的后缀。

(1)那就重建一个css文件,把代码copy过去。

(2)或者下载FilesTypeMan 软件,直接修改文件后缀的minetype类型。

5.看一下你的HTML头部的DOCTYPE 声明

<!DOCTYPE>声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

<!DOCTYPE html> HTML5声明。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">这个是dw自动在网页文件页增加了dtd信息(可以删. 删除后,浏览器会使用的默认dtd.)

该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。

还有很多。。。

本地的外联css加不上,把页面头部的 <!DOCTYPE html> 把html去掉 就ok了。

6.如果使用@import,当css文件发生改动时,客户端IE6将不会刷新该css。

原文地址:https://www.cnblogs.com/liujiale/p/6900066.html