我对那些可以帮助我解决ie8字体真棒问题的人的无限崇拜和钦佩。是的我知道ie8并不好玩,但我需要让它工作,因为......好吧因为。
问题与ie8拒绝更新有关:如果内容:保持不变,则在伪元素之前。当元素的父级通过jquery或javascript接收css类更新(例如“selected”)时,这使得控制字体颜色变得相当困难。什么是强制重新绘制伪元素的优雅方式:在内容之前?
<style>
.items div {color:red;}
.items dig.selected {color:green;}
</style>
$('.toggle').on('click', function(){$('.items').toggleClass('selected');});
<div class="items">
<div class="selected">item 1<i class="icon-arrow-left"></div>
<div>item 2<i class="icon-arrow-left"></i></div>
<a id="toggle">Toggle</a>
</div>
我做了一个jsfiddle来证明手头的问题:http://jsfiddle.net/SLpAE/1/
工作在ie> = 9和7奇怪,以及ie8兼容模式(有不同的问题),也适用于Chrome,safari和FF