Heim > Web-Frontend > CSS-Tutorial > Wie kann ich WebKit zwingen, Stiländerungen neu zu zeichnen und anzuwenden?

Wie kann ich WebKit zwingen, Stiländerungen neu zu zeichnen und anzuwenden?

DDD
Freigeben: 2025-01-01 00:31:10
Original
447 Leute haben es durchsucht

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

WebKit-Repaints zwingen, Stiländerungen anzuwenden

In bestimmten Szenarien werden JavaScript-Stiländerungen möglicherweise nicht in WebKit-Browsern wie Chrome und Safari übernommen. Dies kann auftreten, wenn Klassen oder Stile eines Elements manipuliert werden, insbesondere wenn die betroffenen Elemente eine Eltern- und Geschwisterbeziehung haben.

Um dieses Problem zu beheben, kann eine Problemumgehung eingesetzt werden, um WebKit zu zwingen, ein Neuzeichnen oder Neuzeichnen durchzuführen Weitergabe der Stiländerungen. Ein Benutzer namens Vasil Dinkov hat einen einfachen Hack entdeckt, bei dem die Anzeigeeigenschaft des betroffenen Elements umgeschaltet wird:

sel.style.display='none';
sel.offsetHeight; // no need to store this anywhere, the reference is enough
sel.style.display='';
Nach dem Login kopieren

Indem dieser Code das Element vorübergehend ausblendet und dann wieder anzeigt, zwingt dieser Code WebKit dazu, das Element neu zu zeichnen, um sicherzustellen dass die Stiländerungen übernommen werden. Beachten Sie, dass diese Lösung Berichten zufolge effektiv für Stile wie „Block“ funktioniert. Weitere Tests werden empfohlen, um die Anwendbarkeit auf andere Stiltypen zu bestimmen.

Das obige ist der detaillierte Inhalt vonWie kann ich WebKit zwingen, Stiländerungen neu zu zeichnen und anzuwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage