hr.style-eight:after {
content: "§";
display: inline-block;
position: relative;
top: -0.7em;
font-size: 1.5em;
padding: 0 0.25em;
background: white;
}
但不是显示 §
,而是显示 �
知道为什么吗?
谢谢
最佳答案
可能的解释是,尽管 HTML 文档声明为 UTF-8 编码,但实际上并非如此。可能是windows-1252编码的,当处理假定的UTF-8数据时遇到“§”的windows-1252编码表示,就构成字符数据错误。浏览器指示错误的一种常见且推荐的方式是“�”替换字符。
要解决这个问题,请确保声明的和实际的字符编码匹配。使用哪种编码不太相关,但在其他条件相同的情况下,最好使用 UTF-8。因此,您需要一个编辑器或其他创作工具,它们实际上可以将数据保存为 UTF-8 编码。
如果您绝对无法解决编码问题,请将 CSS 中的 "§"
替换为转义符号 "\A7"
。可读性差很多,但无论编码是什么都有效。
关于该主题的一般建议:W3C 页面 Character encodings .
关于html - hr内容显示问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153106/