2016-05-22 56 views
2

enter image description hereenter image description here我一直在为所有背景图像获取视差,并且我有一个问题由一个stackoverflow社区专家解决,工作,但我昨天没有意识到的一个小问题是,现在我在导航栏和标题图像之间有一个非常薄的白条,并且它与视差代码有关(因为没有视差代码就没有间隙),所以如果有人可以检查此,并帮助我,这将是伟大的..由于视差滚动功能,导航栏和标题图像(背景图像)之间的差距

jQuery代码: -

$(document).ready(function() { 
$(function() { 

// Cache the window object 
var $window = $(window); 

// Parallax background effect 
// Tutorial: http://code.tutsplus.com/tutorials/a-simple-parallax-scrolling-technique--net-27641 



$('section[data-type="background"]').each(function() { 

    var $bgobj = $(this); // assigning the object 

    $(window).scroll(function() { 

     // scroll the background at var speed 
     // the yPos is a negative value because we're scrolling it UP! 

     var yOffset = $bgobj.offset().top; 
     var yPos = -(($window.scrollTop() - yOffset)/$bgobj.data('speed')); 

     // Put together our final background position 
     var coords = '50% '+ yPos + 'px'; 

     // Move the background 
     $bgobj.css({ backgroundPosition: coords }); 

    }); // end window scroll 

}); 

}); 

HTML代码: -

<header> 

     <nav class="navbar navbar-default" role="navigation"> 
      <div class="container-fluid"> 
       <!-- Brand and toggle get grouped for better mobile display --> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
        <a class="navbar-brand" href="#">Brand</a> 
       </div> 

       <!-- Collect the nav links, forms, and other content for toggling --> 
       <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
        <ul class="nav navbar-nav"> 


        </ul> 

        <ul class="nav navbar-nav navbar-right"> 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">FEATURES <span class="caret"></span></a> 
          <ul class="dropdown-menu"> 
           <li><a href="#">Action</a></li> 
           <li><a href="#">Another action</a></li> 
           <li><a href="#">Something else here</a></li> 
           <li role="separator" class="divider"></li> 
           <li><a href="#">Separated link</a></li> 
          </ul> 
         </li> 
         <li><a href="#">ABOUT</a></li> 
         <li><a href="#">TEAM</a></li> 
         <li><a href="#">TESTIMONIALS</a></li> 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">SHOP <span class="caret"></span></a> 
          <ul class="dropdown-menu"> 
           <li><a href="#">Action</a></li> 
           <li><a href="#">Another action</a></li> 
           <li><a href="#">Something else here</a></li> 
           <li role="separator" class="divider"></li> 
           <li><a href="#">Separated link</a></li> 
          </ul> 
         </li> 
         <li><a href="#">PRICING</a></li> 
         <li><a href="#">BLOG</a></li> 
         <li><a href="#">CONTACT</a></li> 

        </ul> 
       </div> 
       <!-- /.navbar-collapse --> 
      </div> 
      <!-- /.container-fluid --> 
     </nav> 
     <section class="header-image" data-type="background" data-speed="5"> 
      <h1> Elegant Single Page WordPress theme</h1> 
      <p>Easy , Reliable and Awesome</p> 
      <button class="btn btn-md btn-info">GET STARTED</button> 

     </section> 

    </header> 

CSS代码: -

.header-image { 
    height:40em; 
    background: url('../images/beach_sunset.jpg'); 
    background-repeat: no-repeat; 
    background-position: center center; 
    background-size: cover; 
    margin: 0; 
    padding: 0; 
} 

.navbar-default { 
    margin: 0; 
    padding: 0; 
} 

.header-image h1 { 
    padding: 3em 0.5em 0; 
} 

.header-image p { 
    font-size: 1.2em; 
    padding-top: 1em; 
} 

.header-image h1, 
.header-image p { 
    color: white; 
    text-align: center; 
} 

.header-image button { 
    display: block; 
    margin: 2em auto; 
} 
+1

您可以创建一个JSFiddle来检查它吗?谢谢 –

+0

没有问题..只需几分钟.. –

+0

我试图创建小提琴https:// jsfiddle。net/b1mcw8zm/5/ –

回答

4

中的Y偏移至极需要对页面上的其他图像,但不是一个ontop的页面的问题。 使用2种不同的数据类型修复,一种使用yOffset,另一种不使用它。 tlrdr: 对于提供的图像,javascript计算不正确

+0

你awes​​ome..hoping再得到你,如果我需要帮助 –

3

这是因为你结合两种paddingmargin性能。你必须谨防这一点。你总是可以将它们结合起来(当然),但你必须意识到它们将要采用的空间。

padding是内容与其容器之间的空间。

margin是容器和其余元素之间的空间。

如果你检查你的网页:

enter image description here

这里是你的updated JSFiddle

只需添加

h1{ 
    margin: 0; 
} 

,它完成。

警告!:使用类型选择器(h1)将删除您在网页中所有的所有h1的边距。如果你只想删除margin财产h1只有你应该使用ID作为@PRYM放在他的答案。

+0

不要添加h1 {margin:0;}它会从所有H1中删除余量,这可能会在其他某个地方破坏。 Instaed只改变了我在我的回答 – PRYM

+0

nogo中提到的H1的边距。问题仍然存在。当我从该节中删除data-type =“background”data-speed =“5”时问题仅消失有类=标题图像,但然后我没有视差这是我不能接受的,否则一切都失败了,所以如果有人可以创建该解决方法,问题将得到解决.. –

+0

@PRYM是的,你是对的。它将删除所有'h1'的余量。我猜想OP应该知道这一点。我将编辑提醒这个问题。抱歉。 –

2

包含“Elegant Signle Page WordPress主题”的H1标签的上边距导致间隙。

只是增加的margin-top:0像素和它的作品

<h1 style="margin-top: 0px;"> Elegant Single Page WordPress theme</h1> 
+0

nogo ..问题仍然存在..当我从class = header-image的部分删除data-type =“background”data-speed =“5”时,问题只会消失,然后我没有视差这是我不能接受的,否则一切都会失败,所以如果有人可以创建该解决方法,问题将得到解决。 –

+0

问题在于你的JS。当您尝试调整图像的坐标时。尝试玩var coords = '50%'+ yPos +'px'; – PRYM

+0

我想出头,但随后我得到错误,所以如果你能给我如何操纵它的一个例子,那么我会尝试其他值.. –