【问题标题】:Webkit browsers not rendering position: relative correctlyWebkit 浏览器不呈现位置:相对正确
【发布时间】:2014-01-25 13:59:17
【问题描述】:

我有一个 IE 和 FF 可以正确呈现但 Chrome 和 Safari 不能正确呈现的网站。

这是 HTML:

<div class="cover">
</div>
<div class="nav">
</div>
<div class="misc">
</div>

这是 CSS:

.cover{
position:absolute;
background-color:#00c9f8;
z-index:600;
height:100%;
}
.nav{
width:100%;
position:fixed;
top:0;
z-index:500;
}
.misc{
position:relative;
top:100%;
height:80%;
min-height:300px;
width:100%;
padding:0;
}

预计.cover 将填充 100% 的视口,所有浏览器都正确呈现该视口; .nav 将固定在顶部,所有浏览器都正确呈现; .misc 将位于视口旁边,IE 和 FF 可以正确呈现,但 Chrome 和 Safari 不能。 Webkit 浏览器将 .misc 放在顶部,就好像它有 position: fixed

上例中.misc代表实际站点中的.orbit-wrapper.menu-box-row 也存在同样的问题,其中position: relative 未正确呈现。

非常感谢您的解决方案!

【问题讨论】:

    标签: css google-chrome safari webkit


    【解决方案1】:

    相对定位使用的百分比值在 Webkit 中一直是个问题。您应该能够通过将 .orbit-wrapper 的位置更改为绝对位置,然后相应地调整其他元素的样式来解决流程中断的问题,从而找到解决方法。祝你好运。

    【讨论】:

    • 非常感谢!将大部分 position: relative 元素更改为 position: absolute 并对其进行调整以适应流程。直到现在我才知道这是一个 Webkit 问题!你知道他们是否会很快修复它吗?
    • 他们正在解决这个问题,但这些问题可以追溯到几年前,所以我不会屏住呼吸......
    • 嗯,真可惜。绝对定位破坏了网站的响应能力,因为元素是从正常流程中拉出来的,所以一旦视口大小发生变化,一些元素就会开始重叠。 :(
    • 找到了解决我的问题的方法,同时也保持了响应能力!这需要一段时间来解释,而且对任何人都不会特别有帮助,所以我会省一口气(或击键):)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多