2016-05-22 58 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

我想出頭,但隨後我得到錯誤,所以如果你能給我如何操縱它的一個例子,那麼我會嘗試其他值.. –