【问题标题】:absolute position div with overflow hides on load (IE7+)加载时溢出隐藏的绝对位置 div (IE7+)
【发布时间】:2009-11-10 17:11:08
【问题描述】:

我有一个标题/包装器布局,其中 div#header 和 div#wrapper 都是绝对定位的,并且在加载时我计算包装器的标题和高度属性的顶部属性以确保内容在包装器中是可滚动的(溢出设置为自动)。出于某种原因,在 IE7+ 上,一旦加载了内容并进行了计算以设置 div 的顶部/高度,它会“隐藏”包装器并且只显示标题......直到你调整窗口大小,甚至轻微 - 导致标题/包装器的正确显示。

这可能与溢出属性有关吗?控制台中没有 JS 错误,而且 IE 上的页面似乎没有正确呈现溢出。

任何想法或建议将不胜感激......

【问题讨论】:

  • 如果我从包装器中删除溢出属性,它显示正常,所以它肯定与 IE 的 css 溢出有关
  • 你什么时候做 onload 或 dom 准备好的计算?
  • 关于 dom 准备就绪-我首先确保设置 css 属性的 dom 元素可用。例如: if( $('div#wrapper').length )

标签: internet-explorer css


【解决方案1】:

好的,所以我已经解决了这个问题,并认为如果其他人遇到类似问题,我会做出回应。

事实上,这是一个 IE8 错误,它与在元素上定义的 css 属性的组合有关(特别是溢出、最大宽度等)...这是对实际错误的描述IE8相关溢出属性:http://edskes.net/ie8overflowandexpandingboxbugs.htm

无论如何,我通过从 CSS 中删除溢出属性并在结束 body 标记之前通过 DOM 定义它来解决此问题,确保不会与任何其他 css 属性发生冲突。

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 2011-06-04
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2012-04-30
    相关资源
    最近更新 更多