0

ナビゲーションに一連のアイコンがあります。デフォルトでは白く、ホバーすると青く表示されます。アイコンをクリックすると、「アクティブな」クラスが割り当てられます。この時点では、デフォルトでは白のままですが、ホバー時にも白になります。

クラス「アクティブ」が割り当てられた後のIE8では、ホバーに関係なく、青色のままです。私は自分のページにこのDoctypeを持っています:

<!DOCTYPE html>

これは私のCSSです:

.appNav div {
    color: #ffffff;
}
.appNav div:hover {
    color: blue;
}
.appNav div.active {
    color: #ffffff;
}
.appNav div.active:hover {
    color: #ffffff;
}

編集: rink.attendant.6 が尋ねたように、アイコンに fontawesome を使用しているため、フォント テキスト アイコンです。

4

1 に答える 1

0

これが IE 8 で動作しない理由はありません

:hover 疑似クラスは、ユーザーがポインティング デバイスで要素を指定している間に適用されますが、必ずしもそれをアクティブにするわけではありません。

詳細については、 http : //www.w3.org/TR/css3-selectors/#the-user-action-pseudo-classes-hover-actを参照してください。

また

Windows Internet Explorer 7 以降では、ブラウザーが標準準拠モード (厳格な !DOCTYPE) の場合、:hover 疑似クラスをリンクだけでなく任意の要素に適用できます。疑似クラスが a タグなどのセレクター内の要素に特に適用されない場合、ユニバーサル (*) セレクターが想定されます。:hover 疑似クラスをむやみに使用すると、ページのパフォーマンスに悪影響を及ぼす可能性があります。

それでも、 IE に任意の要素で:hover を強制し、:hoverの IE の不安定なサポートを管理することができます。でもこれは過去の話。

この「バグのある」不明確なコンテキストにより、開発者は javascript を使用して、jQuery でより優れたクロスブラウザー動作を実現するようになりました。

また、Doctype は html5 です。ページをhtmlShimしましたか?

于 2013-07-11T19:46:28.607 に答える