我有一个650像素高的.swf导航轮播,底部200像素保留用于旋转木马的反射。反射非常微妙,不被认为是重要的信息,因此我们希望在窗口足够高以适应最顶部的450像素时删除垂直滚动条,而不是反射。
我试图通过将margin-bottom: -200px
设置为闪存<object>
来实现此目的,但这只会使容器的高度缩小200像素,导致背景图案在页面底部之前切割。 Flash本身仍然占用650像素。
除了使用javascript主动隐藏/显示滚动条之外,是否有一些“正确”修复?
答案 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()函数会自动执行此操作。