2012-01-10 49 views
0

我在相对div内有一个绝对DIV。它本质上是一个位于页面右上角的绝对定位角横幅的容器。将绝对DIV定位到相对DIV外的页面

它适用于Chrome,但不适用于IE。在IE中它似乎绝对定位,但在其容器内。我想,如果可以覆盖这个,因为这个网站是建立(在CMS整个模板)的方式:

#corner-banner a { 
position: absolute; 
right: 0; 
top: 0; 
display: block; 
height: 200px; 
width: 200px; 
background: url(../images/down.png) no-repeat; 
text-indent: -999em; 
text-decoration: none; 
} 

#corner-banner a:hover { 
background: url(../images/up.png) no-repeat; 
} 

感谢您的阅读和对任何输入。

干杯!

+0

我不太清楚你在说什么,但它听起来像网站的行为,因为它应该在IE浏览器。内部绝对定位div在父容器的右上角?这正是'position:relative'所做的。这意味着儿童设置为绝对,将相对于该容器而不是页面。并且在你的描述中,你正在谈论'div',但是你的CSS目标是'a'。 – tw16 2012-01-10 01:19:36

+0

嗨,谢谢你的回复。关于标签vs div的问题,我只用了div的沙子问题,但是使用了一个标签来获得更好的翻转行为。 – acseven 2012-01-10 01:32:07

+0

关于ie和相关标签的预期行为 - 我明白,但这正是我想要规避的。谢谢! – acseven 2012-01-10 01:33:13

回答

1

这是正确的行为。相对定位元件内的绝对位置将相对于容纳元件绝对定位。

0

你确定父亲相对容器是一个div而不是td吗?

编辑

确定

这不是一个CSS问题,但一个坏的HTML的组织。 所以,如果你想让你的元素被窗口定位,而不是他的相对父坐标,你必须把它放在相对元素之外。

类似的东西:

<body> 
    <div id="corner-banner" class="norelative_element"> 
    <!-- Your content with absolute position by the window !--> 
    <a>...</a> 
    </div> 
    <div class="relative_element"> 
    <!-- Your content with relative position !--> 
    </div> 
</body> 
+0

是的,它是在div中,而不是表td。 – acseven 2012-01-10 19:25:12

+0

让我知道如果我的编辑可以帮助你。 – Valky 2012-01-11 05:25:45