2010-12-15 236 views
-1

J'ai un fieldset et je voudrais déterminer en JavaScript la hauteur (épaisseur) des bordures en haut (y compris la légende) et en bas, aussi la largeur des bordures à gauche et à droite.Comment puis-je déterminer la hauteur et la largeur d'une bordure de jeu de champs?

J'essaie de redimensionner une table JavaScript située dans le fieldset afin que la table fieldset + soit dimensionnée pour tenir dans une zone particulière de la page. Si je place la table aux dimensions de la zone alors le combo fieldset + table est trop grand pour la zone, donc j'ai besoin de soustraire l'espace que prend la bordure du fieldset.

Merci.

Répondre

0
var fieldset = document.getElementsByTagName("fieldset")[0]; 
alert(getStyle(fieldset, "borderTopWidth")); 
alert(getStyle(fieldset, "paddingTop")); 

//http://www.quirksmode.org/dom/getstyles.html 
function getStyle(el,styleProp) 
{ 
    if (el.currentStyle) 
     var y = el.currentStyle[styleProp]; 
    else if (window.getComputedStyle) 
     var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp); 
    return y; 
} 
+0

Dois-je aussi obtenir la hauteur de la légende, ou la moitié de la légende puisque la ligne la coupe en deux? – Paul

+0

@Paul Vous devrez jouer avec - en prenant en compte différents styles, par ex. height, borderTopWidth, marginTop, paddingTop, etc., vous devriez être en mesure d'obtenir ce que vous voulez. – Emmett