【问题标题】:CSS :before content value changing until cache is clearedCSS:在内容值更改之前,直到缓存被清除
【发布时间】:2019-07-28 03:44:59
【问题描述】:

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

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

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

更多信息(相当混乱,但如果您关注,您可能会强制问题在 Chrome 中表现出来):

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

任何想法将不胜感激。

【问题讨论】:

    标签: html css encoding character-encoding


    【解决方案1】:

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

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

    在浏览器中将编码显式切换为 UTF-8,然后使其变为 "\»"

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

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

    或通过放置线

    @charset "utf-8";
    

    在样式表的开头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      相关资源
      最近更新 更多