rst*_*rim 169 css character-encoding
我一直把这条指令视为已转交给我的众多CSS文件的第一行:
@charset "UTF-8";
Run Code Online (Sandbox Code Playgroud)
它做了什么,这是必要的吗?
另外,如果我在我的"head"元素中包含这个元标记,那么是否可以消除在我的CSS文件中也存在它的需要?
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Run Code Online (Sandbox Code Playgroud)
fux*_*xia 146
这在不根据HTTP头或其他元数据(例如本地文件系统)告知编码的上下文中是有用的.
想象一下以下样式表:
[rel="external"]::after
{
content: ' ?';
}
Run Code Online (Sandbox Code Playgroud)
如果阅读器将文件保存到硬盘驱动器并且您省略了@charset规则,则大多数浏览器将以操作系统的语言环境编码(例如Windows-1252)读取它,并插入 - 而不是箭头.
不幸的是,你不能依赖这种机制,因为支持相当......很少见.请记住,在网络上,HTTP标头将始终覆盖@charset规则.
确定样式表字符集的正确规则按优先顺序排列:
@charset规则.最后一条规则是最弱的,它会在某些浏览器中失败.
在charset中属性<link rel='stylesheet' charset='utf-8'>是过时的HTML 5.
注意不同声明之间的冲突.它们不容易调试.
@charset.@charset. 有一张支持表.我不相信这一点.:)