Firefox 与 Chrome 的绝对定位

发布于 2024-12-11 13:11:43 字数 883 浏览 0 评论 0原文

我在使用 jQuery 创建菜单时遇到问题,我已将其归结为以下问题。此示例代码在 Firefox 和 Chrome 中的呈现方式不同:

HTML:

<table id="topTable">
    <tr>
        <td>
            <div id="outer">
                OuterDiv
                <div id="inner">
                    InnerDiv
                </div>
            </div>
        </td>
    </tr>
</table>

CSS:

#topTable {
    position: absolute;
    top: 50px;
}

#outer {
    background-color: Red;
}

#inner {
    background-color: Blue;
    position: absolute;
    top: 0px;
    left: 100px;
}

在 Firefox 中,“outer”元素出现在页面下方 50px 处,但“inner”元素位于页面的最顶部。在 Chrome 中,“内部”div 略高于 50 像素,但距离页面顶部还很远。有人可以解释为什么我会看到这种不同的行为吗?我注意到,将“position:absolute”添加到“outer”元素会导致示例在每个浏览器上呈现相同的效果,但这会扰乱我实际菜单代码上的样式。如果我能理解这里发生的事情,我就能弄清楚我需要采取什么方向来修复我的真实代码。有什么想法吗?

I am having a problem creating a menu using jQuery that I have boiled down to the issue below. This sample code renders differently in Firefox and Chrome:

HTML:

<table id="topTable">
    <tr>
        <td>
            <div id="outer">
                OuterDiv
                <div id="inner">
                    InnerDiv
                </div>
            </div>
        </td>
    </tr>
</table>

CSS:

#topTable {
    position: absolute;
    top: 50px;
}

#outer {
    background-color: Red;
}

#inner {
    background-color: Blue;
    position: absolute;
    top: 0px;
    left: 100px;
}

In Firefox, the "outer" element appears 50px down the page, but the "inner" element is at the very top of the page. In Chrome, the "inner" div is slightly above 50px, but nowhere near the top of the page. Can someone explain why I'm seeing this different behavior? I noticed that adding "position: absolute" to the "outer" element causes the sample to render the same on each browser, but that messes up the styling on my actual menu code. If I could understand what's going on here, I can figure out what direction I need to take to fix my real code. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我要还你自由 2024-12-18 13:11:43

添加 position:relative; 为 #outer

#outer {
    background-color: Red;
    position:relative;
}

请参阅:http://jsfiddle.net/5XWcD/1/,我在FF6.02和chrome 11.0中测试过

add position:relative; for #outer

#outer {
    background-color: Red;
    position:relative;
}

see : http://jsfiddle.net/5XWcD/1/, I tested in FF6.02 and chrome 11.0

放飞的风筝 2024-12-18 13:11:43

设置相对于父节点的位置

.classParent{
    position: relative;
}

并再次调整顶部和左侧

Set position relative in parent node

.classParent{
    position: relative;
}

And adjust top and left once again

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文