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;
}
}
}
答案 0 :(得分:46)
Chrome中的此类问题通常会通过在fixed
元素上添加以下CSS声明来缓解。
-webkit-transform: translateZ(0);
这个技巧可以调用硬件加速并提高性能。