编辑 3/Final:Th Computed Style 问题/问题在下面解释,但为了以后其他人的利益,我的真正问题是通过 Flex Boxes 和 Vx 测量以及边界框来解决。恕我直言“显示:弯曲;” 是许多问题的答案,尽管我正在努力让它做我想做的事,但你不必与 CSS 对抗!
编辑2:以下无疑需要重构,但如果你能告诉我它符合我的要求,那就太好了。我必须做的改变是在等式中添加 clientTop 和 offsetTop: -
function resizeContent()
{
var browserHeight = window.outerHeight;
var offesetHeight, offsetWidth;
var viewHeight = window.innerHeight;
var viewWidth = window.innerWidth;
var chromeFootPrint = browserHeight - viewHeight;
var tmpHeight = viewHeight;
if (window.matchMedia("(orientation: portrait)").matches) {
if (viewWidth > viewHeight) {
viewHeight = viewWidth - chromeFootPrint;
viewWidth = tmpHeight + chromeFootPrint;
}
} else {
if (viewWidth < viewHeight) {
viewHeight = viewWidth - chromeFootPrint;
viewWidth = tmpHeight + chromeFootPrint;
}
}
var dimTarget = logScroll;
var offsetTop = dimTarget.offsetTop + dimTarget.clientTop;
var offsetLeft = dimTarget.offsetLeft + dimTarget.clientLeft;
while (dimTarget = dimTarget.offsetParent) {
offsetTop += dimTarget.offsetTop + dimTarget.clientTop;
offsetLeft += dimTarget.offsetLeft + dimTarget.clientLeft;
}
logScrollHeight = viewHeight - (offsetTop + fireBreak);
logScroll.style.height = logScrollHeight + "px";
logScroll.style.width = getStyle(contentDiv).width;
logWindow.style.height = logScroll.style.height;
logWindow.style.width = logScroll.style.width;
logWindow.scrollTop = logWindow.scrollHeight - logScrollHeight;
contentDiv.style.visibility = "visible"; // Now we're presentable
}
这是防火计算:-
var outerStyle = getStyle(wholeScreen);
fireBreak = Number(outerStyle.paddingBottom.match("[0-9.]*"))
+ Number(outerStyle.borderBottomWidth.match("[0-9.]*"))
;
resizeContent();
编辑 1:好的,让我重新表述这个问题:-如何找出我的 DIV 内容的高度:-
width: 250px;
border: 3px solid green;
padding: 0.5em;
box-sizing: border-box;
我目前必须这样做: -
logScrollHeight = viewHeight -
(offsetTop + Number(getStyle(headerDiv).paddingBottom.match("[0-9.]*")));
原始问题: -
这肯定是重复的,但是经过将近一个小时的查找,我发现了许多相似/相同的问题,但没有真正的答案:-(
为什么不从高度中扣除 boundryWith 和 padding ?
谢天谢地,boundryBottomWidth 和 PaddingBottom 返回已被转换为像素(遗憾地包括“px”字符串),但标准不是说应该返回可用高度吗?