0

th我在 FireFox 中的元素上遇到了 position:relative 的问题。在 Chrome 和 IE 中,该th元素是绝对定位元素的有效偏移父级。

<div class="relative">
    <p>fill some spacing</p>
    <table>
        <tr>
            <th>
                Hello?
                <div id="absolute">Is it me you're looking for</div>
            </th>
        </tr>
    </table>
</div>

.relative {
    position:relative;
    border:1px solid green;
}

th {
    position:relative;
    border:1px solid red;
}

#absolute {
    position:absolute;
    top: 0;
    left: 100px;
    width: 200px;
    border: 1px solid blue;
}

http://jsfiddle.net/ntQqL/2/

在 FireFox 中,该#absolute元素位于 的最顶部.relative,在 Chrome 和 IE 中,它位于 的顶部th,就像我预期的那样。

这是众所周知的区别,还是我做错了什么?

4

2 回答 2

2

它可能与处理displayposition属性的方式有关......

如果你把display:block你的th它会工作

克里斯蒂安的回答也有效

但我想解决这个问题的最好方法是在你的 th 中放置一个相对定位的 div

于 2013-05-16T13:59:50.737 回答
1

table当您将 position:relative 放在而不是.时,它似乎确实有效th。也许这可以用作您的情况的解决方法?

于 2013-05-16T13:52:27.500 回答