ホームページ > ウェブフロントエンド > CSSチュートリアル > WebKit に強制的に再描画してスタイルの変更を適用するにはどうすればよいですか?

WebKit に強制的に再描画してスタイルの変更を適用するにはどうすればよいですか?

DDD
リリース: 2025-01-01 00:31:10
オリジナル
455 人が閲覧しました

How Can I Force WebKit to Repaint and Apply Style Changes?

WebKit の再描画によるスタイル変更の適用の強制

特定のシナリオでは、JavaScript スタイルの変更が Chrome や Safari などの WebKit ブラウザに反映されない場合があります。これは、要素のクラスまたはスタイルを操作するときに、特に影響を受ける要素が親および兄弟関係を共有している場合に発生する可能性があります。

これに対処するには、WebKit に強制的に再描画または再描画を実行させる回避策を採用できます。スタイルの変更を伝播します。 Vasil Dinkov という名前のユーザーは、影響を受ける要素の表示プロパティを切り替えることを伴う単純なハックを発見しました。

sel.style.display='none';
sel.offsetHeight; // no need to store this anywhere, the reference is enough
sel.style.display='';
ログイン後にコピー

このコードは、要素を一時的に非表示にしてから再度表示することで、WebKit に要素を強制的に再描画させ、確実に要素を再描画します。スタイルの変更が適用されていることを確認します。この解決策は、「ブロック」などのスタイルに対して効果的に機能することが報告されていることに注意してください。他のスタイル タイプへの適用性を判断するには、さらにテストすることをお勧めします。

以上がWebKit に強制的に再描画してスタイルの変更を適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート