3

我正在创建这些覆盖上一个和下一个箭头,就像这个网站上的那些 - http://www.usatoday.com

我遇到的问题是在 Chrome 中,箭头不会保持固定,当我向下滚动页面时,箭头会随着页面向上移动,您再也看不到它们了。奇怪的是,在 Firefox 中,它们工作并保持在顶部:45% 位置:一直按应有的方式固定。这是它在 ff 中如何工作的屏幕截图:https ://www.dropbox.com/s/2vsrv874c3urlqs/firefox.PNG

这是铬:https ://www.dropbox.com/s/zgr2zhkcnohykgj/chrome.PNG

箭头的html:

 <div class="overlay-arrows">
        <div class="front-arrow-wrapper">
            <a href="#" rel="prev" class="prev-link">
                <div class="prev-icon">
                </div>
                <div class="prev-overlay">
                    <span class="categ-next">Category for prev</span>
                    <p>Title of the post for prev</p>
                </div>          
            </a>
            <a href="#" rel="next" class="next-link" >
                <div class="next-icon">
                </div>
                <div class="next-overlay">
                    <span class="categ-next">Category for next</span>
                    <p>Title of the post for next</p>
                </div>              
            </a>
        </div> <!--end .front-arrow-wrapper -->
    </div> <!--end overlay-arrows -->

和 CSS:

.overlay-arrows{
    position: fixed;
    top: 45%;
    left: 0;
    width: 100%;
    z-index: 9999;
    overflow: visible;
}
.front-arrow-wrapper{
width: 1104px;
position: relative;
margin: 0 auto;
}
.prev-link{
left: 0;
float: left;
text-decoration: none;
}
.next-link{
right: 0;
float: right;
text-decoration: none;
}   
.prev-icon{
  background: url(../img/prev.png) 100% 0 no-repeat;
  height: 77px;
  width: 45px;
float: left;
}
.next-icon{
  background: url(../img/next.png) 100% 0 no-repeat;
  height: 77px;
float: right;
  width: 45px;
}
.next-overlay, .prev-overlay{
opacity: 0;
filter: alpha(opacity=0);
width: 250px;
width: 250px;
height: 77px;
color: #F16C14;
background: rgba(0, 0, 0, 0.7);
font-size: 14px;
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
}   
.next-link:hover>.next-icon{
-webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  background: url(../img/next-hover.png) 100% 0 no-repeat;
}
.next-link:hover>.next-overlay{
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  opacity: 10;
  filter: alpha(opacity=100);
}
4

2 回答 2

15

我使用了 cjspurg 方法并且它有效。再次感谢!

-webkit-backface-visibility: hidden; 
-webkit-transform: translateZ(0);
于 2013-10-04T12:29:35.107 回答
0

根据这篇文章http://css-tricks.com/forums/topic/fixed-position-z-index-does-not-work-in-chrome/你不能在背景图像上使用 Z-index 这可能是问题的一部分,该帖子上有一个示例可以帮助您,它也在这里:http ://codepen.io/anon/pen/iKljy (您必须注册一个帐户才能看到它,但看起来它可以帮你)。

于 2013-10-01T18:01:22.657 回答