scrollHeight donne une valeur incorrecte lorsque la taille de la propriété est fourni dans le css

J'ai essayé d'obtenir le scrollHeight de mon div et j'en suis bien mais lorsque je ajouter de la hauteur de la propriété dans le css pour la div, j'obtiens une valeur différente.

Il suffit d'exécuter le violon et vous pourrez le voir dans la console de la valeur de scrollheight bien être égale à 268 (qui est égal à la somme des hauteurs de tous les enfants)

mais quand j'ajoute une valeur de hauteur dans le css (dire height:50px;) la sortie vient d'être 252 (la différence est la marge du dernier élément enfant, je pense).

quelqu'un peut s'il vous plaît répondre pourquoi il y a une différence ?

Modifier
Depuis que la question n'était pas claire, j'ai reformulé id. Quand je spécifier la hauteur de la div parent je obtenir le défilement de la Hauteur de 252 pixels, tandis que si je ne spécifie pas la hauteur ou "auto" - je obtenir 268 pixels. Je voulais juste savoir pourquoi les marges de ne pas s'effondrer dans le cas d'une version ultérieure ainsi ? Je ne suis pas inquiet à propos de l'effondrement des marges, mais je veux juste savoir pourquoi le défilement hauteur est différente dans ces deux scénarios ?

La réponse donnée ci-dessous est parfaitement bien. Cependant j'ai aussi eu la bonne scrollHeight à l'aide de javascript (y compris la marge inférieure du dernier enfant)

var h = $(div).height();
$(div).height("auto");
var ch = $(div)[0].scrollHeight;
$(div).height(h);
InformationsquelleAutor vdua | 2012-07-22