固定定位标题在Google Chrome中“跳转”

时间:2014-08-10 02:27:43

标签: css google-chrome

http://fundamentaldesigns.us/normal/

我正在开发一个网站,我遇到了一个前所未有的问题。我有一个具有固定定位和高z-index的标题。它下面的部分具有相对定位,因此我可以绝对地将元素放置在它们内部。

在Chrome中滚动时,标题会“跳转”。我想通了如果我删除了z-index它修复了跳跃问题但是它没有显示在其他元素的前面。这是什么诀窍?

HTML

    <header>
    <div class="inner">
        <img src="images/logo.png" alt="Normal Public Library Foundation" class="logo">
        <nav>
            <ul>
                <li><a href="#whatif">Home</a></li>
                <li><a href="#">2014 Goals</a></li>
                <li><a href="#">Members</a></li>
                <li><a href="#">Donate</a></li>
            </ul>
        </nav>
    </div>
</header>

<div class="whatif section" id="whatif">
    <div class="inner">
        <h1>What if there was no library?</h1>
        <a href="#circulation" class="animated bounce"><img src="images/scroll-arrow.png" alt=""></a>
    </div>
</div>

CSS

header {
position: fixed;
top:0;
width: 100%;
padding: 20px 0;
background-color: #FFF;
opacity: 0.9;
z-index: 999;


-webkit-box-shadow: 0px 1px 7px 0px rgba(50, 50, 50, 0.75);
-moz-box-shadow:    0px 1px 7px 0px rgba(50, 50, 50, 0.75);
box-shadow:         0px 1px 7px 0px rgba(50, 50, 50, 0.75);

.logo {
    float: left;
}

nav {

    float: right;
    margin:8.5px 0;

    ul {
        list-style-type: none;
        padding: 0;
        margin: 0;

        li {
            display:inline;
            font-size: 14px;
            line-height: 20px;
            padding: 0 30px;
            text-transform: uppercase;
        }
    }

}

}

 .section {
height: 800px;
position: relative;

.next {
    position:absolute;
    bottom: 75px;
    left:50%;
    color: #f5f2dc;
    padding: 5px 12px;
    border-radius: 3px;
    background-color: #454545;
    opacity: .5;
    margin-left: -28px;

    &:hover {
        background-color: #565656;
        color: #FFF;
    }
}

 }

1 个答案:

答案 0 :(得分:46)

Chrome中的此类问题通常会通过在fixed元素上添加以下CSS声明来缓解。

-webkit-transform: translateZ(0);

这个技巧可以调用硬件加速并提高性能。