Po pierwsze, musisz znać kontekst.Jak mierzyć wysokość elementu HTML skalowanego za pomocą transformacji CSS3?
Przeglądarka: Chrome
HTML:
<ul>
<li>
<div>Hi!</div>
</li>
</ul>
CSS:
li {
-webkit-transform: scale(0.21);
-webkit-transform-origin-x: 0%;
-webkit-transform-origin-y: 0%;
}
div {
height: 480px;
width: 640px;
}
Efektywna wysokość elementu li to 101px. Jeśli próbujesz uzyskać wysokość w JavaScript przez któregokolwiek z następujących metod (zakładając jQuery 1.4.2 jest załadowana):
$("li")[0].clientHeight;
$("li")[0].scrollHeight;
$("li").height();
$("li").innerHeight();
uzyskać tę samą odpowiedź: 480px.
Jeśli najedziesz myszką na element przy użyciu narzędzi programistycznych Chrome, wyświetli on wymiary: 136x101. (W rzeczywistości, pierwsza liczba, szerokość, zmienia się wraz z szerokością okna, ale nie jest to istotne dla mojego pytania.) Nie wiem, w jaki sposób Chrome do tego dojdzie, ale na pewno by chciałem.
Czy ktoś wie, jak uzyskać wysokość elementu po skalowaniu, czy trzeba to w jakiś sposób obliczyć?