2011-09-30 61 views
4

,所有的浏览器IE7包括显示我的底栏正确固定,所有的时间。IE8固定位置的顶部和底部调整大小错误

.bottom-fixed { 
    position: fixed; 
    bottom: 0; 
    margin-left: -235px; 
    min-width: 1160px; 
    max-width: 130em; 
    width: 100%; 
} 

但是在IE8中有些奇怪的东西。如果调整在底部(你可以改变的同时一个窗口的宽度和高度的方式)的右上角的帮助浏览器窗口的高度,一切都很好。

但是如果调整窗口的高度grapping浏览器窗口的顶部或底部,酒吧/ DIV停留在位置像它会当位置是绝对的,而不是位置:固定的。

任何想法如何解决这个问题?

(使用文档类型为HTML5)

回答

1

我不能修复与此thread Umer mentioned父浮动解。修复了所有当窗口被调整的时间:

所以我与位置应用一个简单的JavaScript脚本固定它。

HTML

<!--[if IE 8 ]> 
    <script type="text/javascript"> 
     $(window).resize(function() { 
      ApplyPositionFixed(); 
     }); 
    </script> 
    <![endif]--> 

的Javascript

function ApplyPositionFixed() { 
    // Check if element exists 
    if ($("#bottom-bar-content").length) { 
     $(".bottom-fixed").attr('style', 'position: fixed;'); 
     console.log("Window resized"); 
    } 
    else { 
     console.info("No element changes on Window resize"); 
    } 
} 

不过。我准备好更好的解决方案。

0

还有另一种解决方案:父元素上设置height明确。例如height: 1%height: 100%

0

有同样的问题,但在我的情况下,修复是父有position: relative。一旦我删除了这个问题,这个问题就消失了。

0

对于IE 8中的固定位置, DOCTYPE非常重要。

之一:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<!DOCTYPE HTML> 

而其 那些在第一线非常非常重要。

+0

好,因为写的,我已经使用HTML5的doctype。所以看起来并非如此。 –

相关问题