[英]Twitter feed adding whitespace to page
我的(WordPress)页面有两个div,“ main”和“ sidebar”。 我有一个JavaScript,该JavaScript可以在页面加载时运行,以向较短的div中添加填充,使二者的长度相等,以便背景渐变正确排列,例如: http : //fightprimetc.com/gabriel/
但是,在侧栏上显示Twitter feed的任何页面上,填充都没有正确地平齐。 取而代之的是,与Twitter feed高度成比例的白框显示在“主要” div下,例如: http : //fightprimetc.com/lawenforcement/
我使Twitter提要更短,白框相应缩小。 如果我完全删除Twitter提要,则该框将完全消失。
我唯一的猜测是,在我的填充晚上JavaScript运行之后,Twitter提要插入到了侧边栏,但是由于JS进行了页面加载,实际上不是这种情况,对吗?
这是我的代码的相关部分:
<body onload="evenupmainandsidebar()">
function evenupmainandsidebar() {
var mainheight = document.getElementById('main').offsetHeight;
var sideheight = document.getElementById('sidebar').offsetHeight;
if (sideheight > mainheight) {
var pixelated = (sideheight - mainheight) + "px";
document.getElementById('main').style.paddingBottom = pixelated;
}
else if (mainheight > sideheight) {
var pixelated = (mainheight - sideheight) + "px";
document.getElementById('sidebar').style.paddingBottom = pixelated;
}
}
谢谢!
老实说,这是CSS问题,而不是JavaScript问题。 如果可以在页面加载时修复DOM,则不应该碰DOM,请始终先尝试使用样式表修复样式问题。
快速解决方案是在#torso上增加一个高度,以便它始终包含内容,并防止社交媒体供稿与主要内容混淆。
真正的深度解决方案是重构CSS,以便在添加新内容时正确调整大小。
我验证了甚至在evenupmainandsidebar()运行之后就加载了Twitter feed。 我的解决方案是将包含Twitter feed的定位标记的高度和行高固定为427px; 因此,在推文加载之前的一两毫秒内,边栏中有一个很大的427px空白框,但是该框允许evenupmainandsidebar()正确设置填充。 推文加载后,它们就填满了框。
如果有时间,我将按照jorblume所说的做,并正确解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.