2017-07-28 4 views
0

J'ai un forum avec la structure HTML suivant:Comment obtenir la hauteur en pixels en javascript pur?

<div id="header">Contents</div> 
<div id="main">Contents</div> 
<div id="footer">Contents</div> 

Fondamentalement, je dois régler la hauteur de #main à la hauteur du document moins la hauteur des 2 autres éléments. Le problème est que je dois le faire sans jquery.I googled le problème et trouvé la méthode clientHeight, mais il retourne la hauteur comme un nombre, alors que j'ai besoin de pixels. Donc, la question est: Y at-il un moyen d'obtenir la hauteur en pixels en javascript pur? ClientHeight renvoie un nombre mais c'est la valeur du pixel.

+1

Pourquoi ne pas utiliser CSS? – evolutionxbox

+0

Ces chiffres sont en pixels, n'est-ce pas? – JiFus

+0

Il suffit de l'arrondir via 'Math.round' et d'ajouter la chaîne' 'px''. Mais je suis d'accord avec @evolutionxbox, une solution CSS serait plus propre. – Stephan

Répondre

0

Ajouter la valeur calculée et ajouter un +"px" à la fin de celui-ci.

Le code que vous souhaitez définir la hauteur de div#main est le dessous

document.getElementById('main').style.height=(parseInt(window.innerHeight) - 
 
(document.getElementById('header').clientHeight + 
 
document.getElementById('footer').clientHeight))+"px";
<div id="header">Contents</div> 
 
<div id="main">Contents</div> 
 
<div id="footer">Contents</div>

+1

Il semble être fonctionne bien. Merci pour l'aide. – Wolfuryo

+0

heureux qu'il a aidé mec. –