Есть ли способ определить истинную границу, отступы и поля элементов из кода Javascript? Если вы посмотрите на следующий код:
<html>
<head>
<style>
<!--
.some_class {
padding-left: 2px;
border: 2px solid green;
}
-->
</style>
<script>
<!--
function showDetails()
{
var elem = document.getElementById("my_div");
alert("elem.className=" + elem.className);
alert("elem.style.padding=" + elem.style.padding);
alert("elem.style.paddingLeft=" + elem.style.paddingLeft);
alert("elem.style.margin=" + elem.style.margin);
alert("elem.style.marginLeft=" + elem.style.marginLeft);
alert("elem.style.border=" + elem.style.border);
alert("elem.style.borderLeft=" + elem.style.borderLeft);
}
-->
</script>
</head>
<body>
<div id="my_div" class="some_class" style="width: 300px; height: 300px; margin-left: 4px;">
some text here
</div>
<button onclick="showDetails();">show details</button>
</body>
</html>
Если вы нажмете кнопку, вы увидите, что заполнение не сообщается правильно. Сообщается только о свойствах, определенных непосредственно через «стиль», а свойства, определенные через класс CSS, не сообщаются.
Есть ли способ вернуть окончательные значения этих свойств? Я имею в виду значения, полученные после того, как все настройки CSS вычислены и применены браузером.