为什么有些人喜欢给 css 第一行加一个 @charset "UTF-8" 啊?有必要吗?
1
kalasoo 2015-05-22 10:02:19 +08:00
有,如果在 CSS 里定义了一个 content 是 ♥ ,只有 UTF8 可以显示
|
2
Csineneo 2015-05-22 10:03:50 +08:00
如果 font-family 有中文,如果 content 有中文
|
3
qiayue 2015-05-22 10:08:43 +08:00
这句话是告诉浏览器,本 css 文件按照 utf8 编码去读取
|
4
banri 2015-05-22 10:09:33 +08:00
不是非常必要。
外部资源(CSS、JS)在加载时会使用HTML头部声明的编码进行解析,而HTML头部一般都会声明UTF-8,所以在CSS中声明其实是没有必要的。 但是也不是完全没有用,因为如果他人查看源代码时,CSS中的中文or其它特殊字符是会显示成乱码的(因为浏览器在环境下默认是GBK,而开发者编写时一般都是UTF-8),但如果在CSS第一行加上@charset "UTF-8",则可以正常显示成中文了。 于是他的作用就是可以在使用浏览器查看源码时,可以很轻松的读懂中文注释。。。 |
5
abelyao 2015-05-22 10:10:02 +08:00 via iPhone
加的好处比不加多,至少表面好处是更多。
|
6
banri 2015-05-22 10:10:33 +08:00
*浏览器在中文环境下
|
7
otakustay 2015-05-22 10:16:38 +08:00
这和HTML里加<meta charset="utf-8">差不多
如果你的服务器能正确输出Content-Type头并且在头中声明charset,那么这一句是没有必要的;反之如果你的服务器控制不了HTTP头,最好还是加着 |
8
nekoyaki 2015-05-24 16:17:54 +08:00
想起了之前客户那边的技术人员,完全不知道为何要加utf8,估计是百度知道还不是哪儿搜到的,然后调用我们的API乱码了,还一直以为是我们的问题。后来我一看,人eclipse里赫然写着的字符集全都是GBK,偏要强行冒充UTF8.
|