IE8 の疑似要素の動的効果スタイルが再描画されないバグ Record_html/css_WEB-ITnose
少し前の会社のフレームワークのフロントエンド最適化では、ユーザーが設定および選択するためのモジュールのアイコン セットとしてフォント アイコン (iconfont) が使用されていました。
フォント アイコンは、非常に優れた柔軟性と再利用性を備えています。システムの全体的なデザインが比較的フラットで、アイコンが設定されている場合は、フォント サイズを通じてサイズを設定したり、色を通じて直接色を設定したりできます。がシステムに必要な場合、従来の PNG アイコンを置き換えるフォント アイコンを選択することは、非常に費用対効果の高いソリューションであると言えます。
特定のフォント アイコンの作成と使用のための素晴らしいサービス サイトがあります: www.iconfont.cn。Alimama フロントエンド チームに感謝します。
以上でiconfontのメリットを大まかに紹介しましたが、本題に入ります。
iconfont は優れていますが、残念ながら実際のプロジェクトでは、IE8 のサポートを強化する必要があります。
一般に、アイコンフォントの使用を実装するには、CSS の :before:after 疑似クラスを使用します。
幸いなことに、IE8 は、:before:after 疑似クラスを直接使用できると思いました。心配する必要はありません。その結果、テストプロセス中にピットが発見されました。具体的なケースを見てみましょう。
a タグで表されるメニュー項目があります:
おおよその効果は次のとおりです:
ユーザーがメニュー項目をクリックすると、メニュー項目が強調表示され、ステータス スタイルが必要になります。 active は a タグに追加されます。 :
この目的は、次の CSS ルールによって達成されます:
期待される (または通常の) 効果は次のとおりです:
ただし、不正な IE8 では、実際の効果は次のようなものです:
IE8 では、クラス (ここでは color) を介してフォント アイコンの表示状態を変更することは機能せず、アイコン スタイルを参照する要素 (この場合、i.item-icon) .icon-addcircle) はステータスを更新するために再描画されません。
問題を明確にした後、Google に行ったところ、IE8 にはそのようなバグがあることがわかりました。
:before:after 疑似クラスを使用する要素は、通常、content 属性と組み合わせて使用され、スタイルを通じてコンテンツ疑似要素の視覚的なパフォーマンスを動的に変更しても、疑似要素の再描画動作はトリガーされません。ただし、 content 属性の値 (コンテンツ) が変更され、ブラウザーに再描画が強制されます。
その後、解決策は、上記の原則に従って、要素を強制的に再描画することです。コードは次のようになります。
ここで、 .content-empty は次のように定義されます:
その後、適用後に毎回実行されます。疑似クラス要素にスタイルを指定するには、Util .redrawPseudoEl(el) を使用します。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

この記事では、html5< time>について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
