位置:已修复无法在Google Chrome中使用

时间:2013-12-10 19:23:34

标签: css google-chrome css-position

我在使用Google Chrome中的“固定”元素时遇到了一些问题。该元素的行为与其他主流浏览器一样。

这是CSS:

#element { 
    position: fixed; 
    bottom: 0px; 
    width: 100%; 
    height: 50px; 
    z-index: 10;
}

问题是,当页面加载时,元素固定在视口的底部,应该是这样。滚动时,它会保留在页面加载时的相同位置 - 它不会固定在屏幕底部。

12 个答案:

答案 0 :(得分:27)

尝试将以下代码添加到您的元素中:

-webkit-transform: translateZ(0);

答案 1 :(得分:8)

我在body标签上有一个属性:-webkit-perspective:800;。我删除了这个并且固定定位再次开始工作......模糊不清,但值得一看。

答案 2 :(得分:4)

作为对获奖答案的补充:如果你有" -webkit-transform-style:preserve-3d" ,那么这将不起作用其中一个父元素。我不知道为什么,我只是把它拿走了。

答案 3 :(得分:1)

我不得不禁用:

-webkit-transform: none !important;
transform: none !important;

为我做好准备。

答案 4 :(得分:1)

我不得不放置一个左侧位置,以便出现...而不仅仅是顶部:

{
    left: 0px;
}

答案 5 :(得分:1)

这些答案都没有对我有用。 对我有用的是将父元素的 contain 属性设置为 none

string a="c386";
char b = (a[0] - 'A' + 10) * 16 + a[1] - '0';
char c = (a[2] - '0') * 16 + a[3] - '0';
cout << b << c << endl;

答案 6 :(得分:1)

我现在使用position: sticky; bottom: 0;

#element { 
   position: sticky; <--- 
   bottom: 0px; 
   width: 100%; 
   height: 50px; 
   z-index: 10;
}

答案 7 :(得分:0)

要完成其他答案所说的内容,还要注意在任何父元素上设置will-change属性都会破坏固定定位。

答案 8 :(得分:0)

首先检查父母是否有

-webkit-transform: translateZ(...);

transform: translateZ(...);

-webkit-transform: translate3d(...)

transform: translate3d(...)

并尝试删除它们。

如果仍然无效,请尝试添加

-webkit-transform: translateZ(0);

transform: translateZ(0);

到您的元素。

如果仍然无效,请检查父级的其他-webkit-transform / transform / perspective样式并删除它们。

答案 9 :(得分:0)

我通过移除对其进行了修复

filter: blur(0);
父元素中的

。 我在chrome上只有这个问题,它在Safari上运行良好。

答案 10 :(得分:0)

属性will-change:transform;对我造成了问题。 只需添加will-change:auto;即可覆盖它。

答案 11 :(得分:-1)

尝试使用

contain: none; 

在父元素中。