La création de balises de style avec JavaScript peut améliorer le style dynamique des pages Web. Bien qu'il existe plusieurs approches pour y parvenir, toutes les méthodes ne fonctionnent pas de manière cohérente sur tous les navigateurs. Plus précisément, cet article explore une technique améliorée qui résout les problèmes de compatibilité avec Google Chrome.
L'approche initiale, qui utilise innerHTML pour créer une balise de style dans un divNode, présente une compatibilité entre navigateurs, à l'exception de Chrome, et introduit un problème esthétique. dans Internet Explorer. Pour résoudre ce problème, une méthode modifiée est proposée :
var css = 'h1 { background: red; }', head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text/css'; if (style.styleSheet){ // This is required for IE8 and below. style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }
Dans cette méthode révisée, l'élément de style est ajouté à l'en-tête du document au lieu du corps. Cette modification garantit la compatibilité avec Chrome et élimine le besoin d'un espace réservé supplémentaire (balise
) dans Internet Explorer.
Cette technique a été minutieusement testée sur les principaux navigateurs (IE7-9, Firefox, Opera et Chrome) et s'est avéré fiable et efficace.
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!