Bonjour,
J'aimerais calculer la taille des marges autour d'un de mes objets html.
Mon objet est déclaré de cette manière dans mon fichier html :
Le code css est situé dans une feuille de style à part :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div id="viewer">
Au sein de mon fichier javascript j'effectue la boucle suivante afin de calculer la somme des marges des objets contenant mon objet viewer (seul mon objet viewer possède une marge dans le cas actuel) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #viewer { width : 100%; height : 100%; margin-left : 300px; margin-right : 0px; }
A la suite de cela, offsetLeft devrait contenir 300. Hors il ne contient rien. La valeur de p.style.marginLeft de mon objet viewer a pour valeur "undefined" quand je l'affiche dans la console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var offsetTop = 0; var offsetLeft = 0; var p = document.getElementById('viewer'); while(p.style != undefined){ offsetTop += p.style.marginTop; offsetLeft += p.style.marginLeft; p = p.parentNode; }
Par contre si je place le css dans le fichier html comme suit, tout marche bien :
Pourquoi ne puis-je pas accèder au css si il se trouve dans une feuille de style externe au html ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div id="viewer" style="width:100%;height:100%;margin-left:300px;margin-right:0px"></div>
Merci de vos réponses
Cordialement
David
Partager