<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#wrapper {
height: 100px;
width: 100px;
overflow: hidden;
border: dashed red 1px;
}
.innerwrap {
overflow: hidden; /* фикс для нижнего маргина */
zoom: 1; /* фикс всего и вся в ie6 */
}
.spacer {
height: 150px;
margin: 10px;
background: navy;
}
</style>
</head>
<body>
<div id="wrapper">
<div class="innerwrap">
<div class="spacer"></div>
<div class="spacer"></div>
<div class="spacer"></div>
<!-- три по 150 и четыре по 10, итого 490 -->
</div>
</div>
<script type="text/javascript">
var o = document.getElementById("wrapper");
alert(o.scrollHeight - o.clientHeight); /* должен вернуть 390 */
</script>
</body>
</html>
Протестил в IE6, O10.10, Fx3.5.