强制Flash的负底部边距

时间:2011-08-04 12:28:55

标签: javascript css flash scrollbar margin

我有一个650像素高的.swf导航轮播,底部200像素保留用于旋转木马的反射。反射非常微妙,不被认为是重要的信息,因此我们希望在窗口足够高以适应最顶部的450像素时删除垂直滚动条,而不是反射。

我试图通过将margin-bottom: -200px设置为闪存<object>来实现此目的,但这只会使容器的高度缩小200像素,导致背景图案在页面底部之前切割。 Flash本身仍然占用650像素。

除了使用javascript主动隐藏/显示滚动条之外,是否有一些“正确”修复?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用css:

#idOfElement {
    overflow-x: hidden;
    overflow-y: hidden;
}

道歉,我以为你试图从元素中删除滚动条。如果您想让它们离开窗口,请执行body {overflow: hidden}

如果元素的内容大于其容器,则只有在overflow: hidden时才会切断元素的某些部分,因此您可能需要查看它。

尝试此操作以在窗口高度达到450px时隐藏溢出:

window.onresize = function () {
    var height = window.innerHeight;
    if (height > 450) {
        document.body.style.overflow = "hidden";
    }
}

您可能遇到的一个问题是,某些浏览器喜欢在调整大小期间而不是之后触发大量调整大小事件,这可能会影响性能。保罗爱尔兰写了一篇关于在http://paulirish.com/2009/throttled-smartresize-jquery-event-handler/缓解此问题的简短博文,我认为jQuery的.resize()函数会自动执行此操作。