Forcer les repaints WebKit à appliquer des modifications de style
Dans certains scénarios, les modifications de style JavaScript peuvent ne pas se propager dans les navigateurs WebKit comme Chrome et Safari. Cela peut se produire lors de la manipulation des classes ou des styles d'un élément, en particulier si les éléments concernés partagent une relation parent-frère.
Pour résoudre ce problème, une solution de contournement peut être utilisée pour forcer WebKit à effectuer un redessin ou une repeinture, ainsi propager les changements de style. Un utilisateur nommé Vasil Dinkov a découvert un hack simple qui consiste à basculer la propriété d'affichage de l'élément affecté :
sel.style.display='none'; sel.offsetHeight; // no need to store this anywhere, the reference is enough sel.style.display='';
En masquant temporairement l'élément puis en l'affichant à nouveau, ce code force WebKit à repeindre l'élément, garantissant ainsi que les changements de style sont appliqués. Notez que cette solution fonctionne efficacement pour des styles tels que « bloc ». Des tests supplémentaires sont recommandés pour déterminer son applicabilité à d’autres types de styles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!