CSS :在内容值改变之前直到缓存被清除

CSS :before content value changing until cache is cleared

我有一个带有人字形要点的 ul 列表,受以下 css 代码影响:

ul li::before { 
content : "»"; 
padding-right: 0.3em;
} 

最初显示正确;但是过了一会儿,项目符号点变成了»。这可以通过清除缓存来解决(暂时),但是问题会再次出现,而且我终生无法弄清楚为什么会出现额外的字符。我试过内容:“\»”和内容:“\00bb”,但同样的问题发生了。 这种情况发生在 Chrome 中,我 认为 也发生在 Safari 中,在我的本地开发环境以及实时网站上(http://markfisher.photo - 有问题的列表位于"Me elsewhere" 下方)。

进一步信息(相当混乱,但如果您遵循,您可能能够强制问题在 Chrome 中显现):

有趣的是,现在查看我的实时网站,即使它在页面上正确显示,在检查列表时,Chrome devtools 说 css 实际上是内容:“\» ”。在打开 devtools 的情况下刷新页面会改变这一点,因此它在页面和 Chrome devtools 中都是正确的。但是,如果我打开页面(正确显示),打开 Chrome devtools(显示额外的 Â)然后关闭 devtools 然后刷新,额外的 Â 显示在页面上。

如有任何想法,我们将不胜感激。

http://markfisher.photo/code/css/footer.css,当直接在浏览器中调用时,已经这样显示了:

div.quick_links ul li::before { 
   content : "\»";

然而,在浏览器中将编码显式切换为 UTF-8 会使它变成 "\»"

尝试专门告诉浏览器此样式表是用 UTF-8 编码的,方法是让服务器将 charset 添加到 Content-Type header,这样它就变成了

Content-Type: text/css; charset=UTF-8

或通过放置行

@charset "utf-8";

在样式表的最开头。