浏览器加载不上css,样式走丢了~
Posted 爱努力的小疯子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器加载不上css,样式走丢了~相关的知识,希望对你有一定的参考价值。
如果你的浏览器加载不上外联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。
以上是关于浏览器加载不上css,样式走丢了~的主要内容,如果未能解决你的问题,请参考以下文章
外联css样式表中应该如何 写background-image: url()中的图片路径呢 ? 这里我对相对路径不是很明白。把一