2

ie8 の素晴らしいフォントの問題を解決するのを手伝ってくれる人に、私の尽きることのない崇拝と賞賛の気持ちを捧げます。はい、私は ie8 が楽しくないことを知っていますが、それを機能させる必要があります。  

この問題は、content: が変更されていない場合に :before 疑似要素を更新することを ie8 が拒否していることに関連しています。これにより、要素の親が jquery または javascript を介して「selected」などの CSS クラスの更新を受け取ると、フォントの色を制御することがかなり困難になります。コンテンツの前に疑似要素の再描画を強制するエレガントな方法は何ですか?

<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 でも動作します。

4

0 に答える 0