Css 位置异常的webkit问题:已修复

Css 位置异常的webkit问题:已修复,css,webkit,position,Css,Webkit,Position,在Chrome中,如果单击“生产”,然后单击“联系”,则位置:fixed header将消失,但在移动滚轮时会返回。我不知道原因是什么,到目前为止,我只能在Safari和Chrome中检测到,但Firefox很好,所以我认为这是一个webkit错误。事实上,如果你仔细观察,Firefox中也有同样的错误。不同的是,在那里它显示的内容较少,从以前的链接。也许您的问题可以通过在CSS中定义链接div的最小高度值来解决。 div#联系人{ 最小高度:700px; 高度:自动 } 经过一次本地测试,


在Chrome中,如果单击“生产”,然后单击“联系”,则位置:fixed header将消失,但在移动滚轮时会返回。我不知道原因是什么,到目前为止,我只能在Safari和Chrome中检测到,但Firefox很好,所以我认为这是一个webkit错误。

事实上,如果你仔细观察,Firefox中也有同样的错误。不同的是,在那里它显示的内容较少,从以前的链接。也许您的问题可以通过在CSS中定义链接div的最小高度值来解决。

div#联系人{
最小高度:700px;
高度:自动
}
经过一次本地测试,我看到了真正的问题:)。我已经创建了correction.css,并在Mac OS X上的Opera 11、Safari 5、Firefox 3.6、Firefox 4.0 beta 11和Chrome 9中进行了测试。该文件包含以下内容:

html,body{height:100%;overflow:auto}/*使消失的魔术消失*/
#触点{min height:700px;height:auto}/*使触点div h2更接近顶部*/

高度调整对我没有任何帮助。Chrome for me中固定位置元素消失的问题的解决方案是:
window.scrollTo(window.pageXOffset,window.pageYOffset-1)

解决此问题的一种方法是强制固定位置元素进入它们自己的渲染层。这可以通过应用三维变换来实现,例如:

.navbar-fixed-top {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

希望这有帮助。

默认情况下,Blink和WebKit中的固定位置元素都会提升到合成层。在Safari中不需要提升固定位置元素,因为它们已经合成

你需要做的恰恰相反。您需要使用translateZ(0)提升所有非固定:位置元素:


如果您想解决这个问题,可能需要隐藏和显示整个正文,以便强制它重新绘制整个正文。我不知道您的意思,pimvdb。在按下联系人链接后,您可能需要执行以下操作:
window.scrollTo(window.pageXOffset,window.pageYOffset-1)
。它会将页面向上滚动一个像素,从而解决页眉消失的问题。(对不起,我的第一个建议是错误的。)如果这是Webkit中的一个明显错误,你是否考虑过将其提交给谷歌和/或苹果来修复它?嗯,我不知道如何修复它,是什么导致它,等等。。。我唯一的线索是,它可能与嵌入式Youtube视频(Flash)有关。我在这里测试了它,现在我看到了真正的问题。:)真想不到!