CSS:内容值更改之前,直到清除缓存

Mar*_*her 2 html css encoding character-encoding

我有一个 ul 列表,其中包含受以下 css 代码影响的 V 形项目符号点:

\n\n
ul li::before { \ncontent : "\xc2\xbb"; \npadding-right: 0.3em;\n} \n
Run Code Online (Sandbox Code Playgroud)\n\n

最初显示正确;然而一段时间后,项目符号点更改为 \xc3\x82\xc2\xbb。通过清除缓存可以修复此问题(暂时),但问题会再次出现,而且我一生都无法弄清楚为什么会出现额外的字符。我尝试过内容:“\\\xc2\xbb”和内容:“\\00bb”,但发生了同样的问题。\n这发生在 Chrome 中,我认为Safari 中,在我的本地开发环境以及实时中网站(http://markfisher.photo - 有问题的列表位于“我在其他地方”下的底部)。

\n\n

进一步信息(非常令人困惑,但如果您遵循,您也许能够迫使问题在 Chrome 中显现出来):

\n\n

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

\n\n

任何想法将不胜感激。

\n

CBr*_*roe 5

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

\n\n
div.quick_links ul li::before { \n   content : "\\\xc3\x82\xc2\xbb";\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

尝试明确告诉浏览器此样式表是用 UTF-8 编码的,方法是让服务器在标头charset中添加 a Content-Type,使其变为

\n\n
Content-Type: text/css; charset=UTF-8\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者通过放置线

\n\n
@charset "utf-8";\n
Run Code Online (Sandbox Code Playgroud)\n\n

在样式表的最开始处。

\n