Css 未在chrome中更新li标记字符颜色

Css 未在chrome中更新li标记字符颜色,css,google-chrome,chromium,Css,Google Chrome,Chromium,我有一个和一些s。我使用非常基本的js向添加类。(这是一个说明可能的bug的示例,而不是我的实际用例) 在FF,即Safari中,添加了类.good或.bad,以及和 setTimeout(函数(){ document.getElementById(“bar”).classList.add(“坏”); document.getElementById(“test”).classList.add(“good”); document.getElementById(“foo”).classList.a

我有一个
和一些
  • s。我使用非常基本的js向
  • 添加类。(这是一个说明可能的bug的示例,而不是我的实际用例)

    在FF,即Safari中,添加了类
    .good
    .bad
    ,以及
  • setTimeout(函数(){
    document.getElementById(“bar”).classList.add(“坏”);
    document.getElementById(“test”).classList.add(“good”);
    document.getElementById(“foo”).classList.add(“good”);
    document.getElementById(“whatevs”).classList.add(“good”);
    }, 3000);
    
    ulli{
    颜色:黑色;
    }
    ullia{
    颜色:黑色;
    }
    好的{
    颜色:绿色;
    }
    好的{
    颜色:绿色;
    }
    好的{
    颜色:红色;
    }
    好的,坏的{
    颜色:红色;
    }

    我仍然认为这是一个chromium/webkit错误,但目前我已经找到了一个可接受的解决方案。我通过添加和删除1px透明边框来修改长方体,从而强制Chrome重新渲染元素

    setTimeout(函数(){
    document.getElementById(“bar”).classList.add(“坏”);
    document.getElementById(“test”).classList.add(“good”);
    document.getElementById(“foo”).classList.add(“good”);
    document.getElementById(“whatevs”).classList.add(“good”);
    }, 3000);
    
    ul{
    宽度:150px;
    }
    ulli{
    列表样式:光盘;
    颜色:透明;
    }
    ullia{
    颜色:黑色;
    显示:块;
    边框顶部:1px实心透明;
    }
    好的{
    背景图像:无;
    颜色:绿色;
    边框顶部:1px实心透明;
    }
    好的{
    颜色:绿色;
    边框顶部:0px实心透明;
    }
    好的{
    颜色:红色;
    边框顶部:1px实心透明;
    }
    好的,坏的{
    颜色:红色;
    边框顶部:0px实心透明;
    }

    我可能会尝试使用生成的内容在
    li
    前面放置一个项目符号,而不是
    列表样式
    …是的@CBroe,这可能就是我现在要做的。为CSS1属性提供现代浏览器似乎很愚蠢。