IE9的CSS绝对定位错误

时间:2011-08-19 19:51:19

标签: css cross-browser

我有IE9和绝对定位的问题。我试图在JSfiddle中发布它,但是在IE中有圆角甚至我使用IE不支持的CSS3,这让我建议JSfiddle有它的引擎。换句话说,它显示了很好的一切,但在IE9中,它忽略了上边距,只是出现在屏幕上。

我建议将其复制/粘贴到您的编辑器中并尝试使用IE9。感谢。

Code may be seen here

在这里:

<div id="container">
<div id="branding">
branding
</div>
<div id="content">
<div id="content_main">
<p>Ovo je neki tekst. Ovo je neki tekst. Ovo je neki tekst. Ovo je neki tekst. Ovo je neki tekst. Ovo je neki tekst.</p>
</div>
<div id="content_sub">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
</div>
<div id="site_info">
<p>Ovo je neki tekst. Ovo je neki tekst. Ovo je neki tekst.</p>
</div>
</div>


body{
font: 76%/160% Tahoma, Verdana, Arial, sans-serif;
color: #5a1c46;
text-align: center;

}


div#container{
width: 780px;
margin: 0 auto;
padding: 0;
text-align: left;

}


div#branding{
/*when its display: none it is displaying correctly content*/
position: absolute;
z-index: 10;
top: 0;
left: 0;
width: 100%;
height: 200px;
background-color: #009;

}


div#content{
position: relative;
width: 100%;
overflow: auto;
margin-top: 200px; /*this margin is ignoring while branding is visible*/
min-height: 500px;
background-color:#F00;

}


div#content_main{
position: absolute;
top: 0;
left: 240px;
width: 540px;
margin: 0;
padding: 0;

}


div#content_sub{
position: absolute;
top: 10px;
left: 15px;
width: 190px;
margin: 0;
padding: 10px;
border-radius: 10px 30px 10px 30px;
background-color:#Ff0;

}


div#site_info{
margin: 0;
padding: 0;
min-height: 50px;
border-radius: 0 0 20px 20px;
width: 100%;
background-color: #FF0;
}

2 个答案:

答案 0 :(得分:5)

您的浏览器处于兼容模式。关掉它看起来很好。

要强制用户使用最佳呈现引擎,请使用x-ua-compatible作为标题或页面上的元html标记。

在这里你可以找到图标,如果它是蓝色,则意味着激活了兼容模式,因此在IE9中激活了我的http://imgur.com/BPDq3

答案 1 :(得分:1)

这类问题是由兼容模式引起的

编辑IE9中的兼容模式设置:

  1. alt+t > Compatibility View Settings
  2. 清除所有网站并取消选中所有框。
  3. 现在您的浏览器无法进入兼容模式(除非网站强制使用<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />