背景:Oracle Apex生成此代码,如果在IE7中间歇性隐藏的水平滚动条导致问题,我正在努力解决:
<style> html {visibility:hidden;} </style>
解决方法
According to the spec,可见性属性仍应影响布局。这意味着,如果一个元素最终导致滚动行为,它不应该影响滚动。此外,设置为可见的任何孩子都应该在隐藏的元素中可见。
观察行为
使用this fiddle …
Firefox,IE 8-10,Opera
使可见性:隐藏在html元素上不呈现正文(应该),但仍然显示html本身的一些渲染,因为它显示背景颜色。正如BoltClock在他的评论中指出的那样,这实际上可能是预期的,因为html的背景是(@L_403_2@)成为…
“the background of the canvas and its background painting area extends
to cover the entire canvas.”
这些浏览器还允许将元素设置回可见内部显示为指定的可见度的规范,因此div正在显示并可滚动。
Chrome和Safari
它不会在html上渲染背景颜色,但它允许div显示,并显示滚动条。因此,Chrome不会将背景属性传播到画布,大概是因为其可见性设置为隐藏。
IE7
html元素的背景颜色不会呈现(如Chrome),但是内部的div元素也没有显示滚动条。这似乎表明它不符合规范的布局。
所以可能的可见性:隐藏属性是您的问题的一部分。显然,背景技术并不涉及到您的滚动问题,而是解决了整个问题的关于属性如何影响html元素的问题。
在我看来,Chrome和Safari渲染似乎是最直观的(我可能期望的是一个设计师),因为我不会指望背景颜色渲染(因为元素被隐藏),但同时如果我将一个孩子设置为可见,那么即使html包装器设置为visibility:hidden,我也希望浏览器能够代表该小孩滚动。然而,webkit浏览器或其他浏览器是否最接近规范是有争议的,因为BoltClock在他的评论中不满意,该规范似乎并不表示html元素的可见性是否应该影响背景属性的传播)。