IE背景显示问题

时间:2009-01-02 23:56:27

标签: internet-explorer margin

我正在为我的教会创建一个网站,我在IE中显示它时遇到了问题。似乎我的div“sidebox”的背景位置被“margin:0 auto”覆盖了。因为背景显示在中心而不是右侧,这使得网站向右移动。

以下是代码:

.sidebox {
margin: 0 auto;
background-image: url(images/bg-container-right.jpg);
background-repeat: no-repeat;
background-position: bottom right !important;
position: absolute;
left: 0px;
width: 960px;

}

.boxhead {
    background-image: url(images/bg-container-top.jpg);
    background-repeat: no-repeat;
    background-position: top right;
    height: 37px;
}

.boxbody {
    background-image: url(images/bg-container-left.jpg);
    background-repeat: no-repeat;
    background-position: bottom left !important;
    width: 25px !important;
}

.boxtopcorner {
    background-image: url(images/bg-container-top-right.jpg);
    background-repeat: no-repeat;
    background-position: top left;
    width: 25px;
    height: 37px;
}

<div class='sidebox' style='border: 1px solid;'>
I'm in the box
    <div class='boxhead'>
        <div class='boxtopcorner'></div>
    </div>
    <div class='boxbody' style='height: 750px;'>
        <!-- Content Goes Here -->
    </div>
</div>

以下是指向正在运行的网站的链接。你可以看到它在FF和Safari中运行良好,但在IE中却没有。我上面的代码没有内容,删除它不能解决问题。 Running page

2 个答案:

答案 0 :(得分:2)

我会采用完全不同的方法来切割背景图像。

  1. 为具有圆角的阴影创建顶部和底部图像。使用这些作为顶部和底部的背景(好像这已经不是很明显)。
  2. 为两侧的阴影创建一个'长'1px高图像。将其用作页面整个内容区域的背景。
  3. 尽量不要使用绝对定位。可以使用浮点数创建相同的布局。例如:
  4.   

    .container {width:960px;保证金:0自动; }

    .header { width: 960px; height: 20px; background: url(top.jpg) no-repeat; }
    
    .footer { width: 960px; height: 20px; background: url(bottom.jpg) no-repeat; }
    
    .body { width: 960px; background: url(body.jpg) repeat-y; }
    
    <div class='container'>
    
      <div class='header'>&nbsp;</div>
    
      <div class='body'>
    

    内容在这里...使用浮动来创建列而不是绝对定位。

      </div>
    
      <div class='footer'>&nbsp;</div>
    
    </div>
    

答案 1 :(得分:1)

通过IE开发人员工具栏查看它,它为.sidebox提供了一个中心对齐方式。将其更改为左侧似乎可以解决问题。

.sidebox {
  ...
  text-align: left;
}