2013-10-09 3 views
1

머리글 아래에있는 간단한 탐색 모음이 있습니다. 사용이 헤더를지나 스크롤되면 navbar가 고정되기를 원합니다.bootstrap 3.0 affix snap down

사용자가 오프셋에 도달하면 navbar가 고정되지만 페이지가 navbar의 높이 + 적용되는 20px bottom margin만큼 스크롤되는 것처럼 보입니다.

http://jsfiddle.net/WzphN/

예는 내가 헤더는이 같은 제목 대신 대답하는 회전 목마없는 것을 제외하고 일하고 있어요 무엇처럼 꽤 많이 보인다.

반응이 있으므로 Javascrip을 사용하여 부착 효과를 시작했습니다. 내가 이해

 $('#nav').affix({ 
     offset : { 
      top : function() { 
       return $('#header').height(); 
       } 
     } 
    }); 

브라우저가 (내 예 500) 헤더의 높이를지나 스크롤 한 때 #nav 요소가 접사 클래스를 적용 할 것입니다. 그런데 왜 그렇게 뛰어 내려요?

답변

2

CSS의 .affix 클래스의 경우 top : {heightofyournavbar}를 설정해야합니다.

.affix { 
    position: fixed; 
    top: 50px; 
} 

은 참조 : data-offset-bottom in Bootstrap3 Affix

+0

이 유일한 장소 내 네비게이션 바 (50) 픽셀 상단에서 상단과 네비게이션 바 사이의 간격을 생성하는에 도달하면 오프셋. 이것이 해결책 일 수 있다고 생각한 이유를 설명해 주시겠습니까? 어쩌면 내가 더 잘 이해할 수있을거야. – David

+0

div를 스크롤하지 않으면 class가 affix-top이됩니다. offset.top 위치로 스크롤 한 후이 클래스는 접미사로 바뀝니다. 그래서 .affix (position top 50px와 fixed)가 offset.to (자바 스크립트로 설정) 뒤에 적용됩니다. –

+0

그래, 그 부분을 이해하지만 .affix {top : 50px;}를 설정하면 브라우저가 오프셋에 도달하면 상단에서 navbar를 50 픽셀 배치합니다. – David