Bonjour,
Plusieurs sujets de ce forum parlent de surcharger les styles par défaut définis dans l'API Géoportail.
Deux remarques :
Surcharger une propriété définie par l'API ne peut pas se faire par une balise <style> dans le header de la page HTML. Seule l'adjonction d'une propriété non définie fonctionne dans ce cas.
- Modifier les propriétés définis peut parfois ne pas être heureux. Par exemple l'augmentation de la taille des polices, pour des zones difficilement lisibles, peut conduire à des débordements dont le résultat sera pire.
- Si, malgré tout des surcharges doivent être réalisées il faut bien comprendre l'ordre dans lequel les informations de style sont lues. Pour cela FireBug est intéressant car il permet, pour un style, de visualiser toutes ses références en barrant celles qui sont surchargées.
En effet la feuille de style standard de l'API, style.css, est chargée dynamiquement par l'API lors de l'initialisation, c'est à dire après que toute les directives contenues dans le header ait été traitées. C'est donc elle qui surcharge les autres définitions (si vous redéfinissez les mêmes propriétés d'un style vous constaterez avec FireBug que celles de la page HTML sont barrées et que ce sont celles de style.css qui sont actives).
La solution est de faire comme l'API un chargement dynamique d'une feuille de style, et ce, après que l'API ait chargé la sienne.
Comme, lors de l'initialisation l'API lance la fonction 'initGeoportalMap', c'est dans cette fonction qu'il faut placer le code de chargement dynamique de sa propre feuille de style par une séquence du type :
Merci à Tous pour la réactivité de ce forum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var C=document.createElement("link"); C.setAttribute("rel","stylesheet"); C.setAttribute("type","text/css"); C.setAttribute("href","mystyle.css"); document.getElementsByTagName("head")[0].appendChild(C);
Partager