如果你想在高度爲元素風格,你需要getComputedStyle
(或currentStyle
舊IE),以獲得計算風格:
function getStyle(element) {
if (typeof getComputedStyle !== "undefined") {
return getComputedStyle(element);
}
return element.currentStyle; // Old IE
}
var heightStyle = getStyle(element).height;
這將是一個字符串,單位(不一定是CSS中的單元)。
如果你想要的元素的高度,而不是它的height
風格,使用element.offsetHeight
或element.clientHeight
。他們將是數字;它是四捨五入到最接近整數的像素數。
如果您想要獲得最精確的信息(包括相關的小數像素,可能會發生),那麼您可以使用getBoundingClientRect
。
實施例:
function getStyle(element) {
if (typeof getComputedStyle !== "undefined") {
return getComputedStyle(element);
}
return element.currentStyle; // Old IE
}
var element = document.querySelector(".foo");
var bounding = element.getBoundingClientRect();
console.log({
"height style": getStyle(element).height,
"offsetHeight": element.offsetHeight,
"clientHeight": element.clientHeight,
"bounding height": bounding.height
});
.container {
display: inline-block;
width: 100px;
height: 200px;
position: relative;
background-color: yellow;
}
.foo {
display: inline-block;
width: 100%;
height: 33.3%;
background-color: blue;
}
<div class="container">
<div class="foo"></div>
</div>