我正在为我的教会创建一个网站,我在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
答案 0 :(得分:2)
我会采用完全不同的方法来切割背景图像。
.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'> </div>
<div class='body'>
内容在这里...使用浮动来创建列而不是绝对定位。
</div>
<div class='footer'> </div>
</div>
答案 1 :(得分:1)
通过IE开发人员工具栏查看它,它为.sidebox提供了一个中心对齐方式。将其更改为左侧似乎可以解决问题。
.sidebox {
...
text-align: left;
}