2012-08-28 127 views
1

图像位置这是我的“简洁” HTML背景上的Internet Explorer 7

<html> 
<head> 
    <style type="text/css"> 
     body.custom.one_sidebar { 
      background:#f5f5f5 url('img/bg/bg-content.png') no-repeat 50% 36.1em; 
      overflow-x:hidden; 
     } 
    </style> 
</head> 
<body class="custom one_sidebar"> 
    <div class="header_area"></div> 
    <div class="content_area"></div> 
</body> 
</html> 

的问题是,背景图像位置不IE7工作。它在IE8和几乎所有其他浏览器中都有。想要帮助理清原因。

回答

1

那是因为你在位置上混合了百分比& em。 对于IE7,你必须使用相同的,百分比/ PX或EM 2次:

body.custom.one_sidebar { 
background:#f5f5f5 url('img/bg/bg-content.png') no-repeat 50% value%; 
overflow-x:hidden; 
} 

body.custom.one_sidebar { 
background:#f5f5f5 url('img/bg/bg-content.png') no-repeat value_em 36.1em; 
overflow-x:hidden; 
} 
+0

井的50%被认为是中心,将改变这种帮助任何一个? (不知道如何将其中一个转换为另一个) –

+0

我知道你的困境,你可以尝试通过改变50%到一个'em'值来使它居中。试验和错误是你的道路;-) – Mark

+0

是的,这不会为我的目的工作。如果屏幕被调整大小,它会消失。 –

0

首先,确保您选择了Doctype,因为没有它,它将触发Quirks模式,IE将不会正确渲染某些速记背景属性(或完全)。

尝试添加display: block,并为侧边栏CSS添加适当的宽度和高度。当元素没有严格定义为块元素时,IE已经知道渲染某些属性的问题。