Firefox中滚动条下的CSS固定位置移动

3dg*_*goo 3 css firefox

在Firefox(版本19.0.2)中,使用position: fixed元素将元素定位到页面右侧相对于窗口滚动条右侧的窗口视口定位.

但是,在我们更改定位值时悬停时,元素相对于不包括窗口滚动条的窗口视口定位.

在下面的示例中,这会导致元素从滚动条的右侧移动到悬停时的滚动条下方.

我已经分离出的问题,要看看它是不是由设置在任何其他的CSS设置引起的body,html或其他任何东西,但我不能找到这个问题的原因.

HTML

<a href="#Top" id="ScrollToTop">Top</a>
Run Code Online (Sandbox Code Playgroud)

CSS

#ScrollToTop {
    position: fixed;
    right: 0px;
    bottom: -10px;
    width: 50px;
    height: 50px;
    background: #ffffff;
    color: #000000;
}
#ScrollToTop:hover {
    bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)

这是否有原因发生?这是一个浏览器错误吗?有办法解决这个案子吗?

Tur*_*erj 5

经过一些摆弄,我的解决方案是将ScrollToTop锚点放在另一个固定位置div中.

HTML

<div id="ScrollToTopHolder"><a href="#Top" id="ScrollToTop">Top</a></div>
Run Code Online (Sandbox Code Playgroud)

CSS

body {
    height: 2000px;
    background: #990000;
}
#ScrollToTopHolder {
    position: fixed;
    width:100%;
    bottom:0px;
}
#ScrollToTop {
    position: absolute;
    right: 0px;
    bottom: -10px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: #fff;
    color: #000;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    z-index: 1000;
    border: solid 1px #000;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    transition: all 0.4s;
}
#ScrollToTop:hover {
    bottom: 0px;
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

当您移动固定锚位置,重新对齐它时,似乎Firefox不喜欢它.