6

모바일에있을 때 부트 스트랩 탐색 모음을 navbar-fixed-bottom으로 유지하는 방법이 있습니까? 데스크톱에있을 때 navbar-static-top 일 때 부트 스트랩 탐색 모음을 유지하는 방법이 있습니까? 괜찮은지 확실하지 않지만 두 개의 navb를 만들고 숨기고 다른 하나를 보여주는 것을 생각하고있었습니다. 관련 메모에서 같은 역할을 가진 두 개의 nav 요소를 사용하는 것이 괜찮습니까?부트 스트랩 navbar-fixed-bottom 데스크탑과 navbar-static-top on mobile?

+1

가능합니다. 예, 가능합니다. 일부 미디어 쿼리를 사용해야하지만 가능합니다. 또 다른주의 사항은 여러 개의 nav 요소를 가질 수 있으며 w3.org가 동일한 페이지에서 여러 개의 'navigation'역할을 수행하도록 지원한다는 것입니다. http://www.w3.org/WAI/GL/wiki/Using_HTML5_nav_element#Example%3aThe_.3Cnav.3E_element – Dorvalla

+0

@Dorvalla 아, 감사합니다. 그래서 이미 부트 스트랩에 내장 된 것을 달성 할 수있는 방법이 없습니까? – yaharga

+1

나는 이것을 확인할 수는 없지만 자바 스크립트로 클래스를 추가/제거하는 것은 화면의 너비를 확인할 때의 해결책이다. – Dorvalla

답변

3

화면 너비에 따라 javascript jquery를 사용하여 navbar 클래스를 추가하거나 제거하여이 작업을 수행 할 수도 있습니다.

if ($(window).width() > 330) { 
$('.navbar').addClass('navbar-static-top'); 
} 
else 
{ 
$('.navbar').addClass('navbar-fixed-bottom'); 
} 

그것은 당신은 미디어 쿼리를 사용할 수 있는지

+1

JS로드는 페이지로드시에만 작동하며, JS가 비활성화되어 있으면 페이지로드시 시작 위치에서 nav의 깜박임이 발생할 수 있습니다. 부트 스트랩의 목표는 반응 적입니다. CSS 미디어 쿼리가 더 좋을 것입니다. – dotcomly

1

을 위해 작동합니다

<nav class="navbar navbar-default navbar-static-top" role="navigation"> 

@media (max-width:767px) { .navbar-static-top { position: fixed; bottom: 0; left: 0; width: 100%; margin: 0; } } 
2

이 코드는 나를 위해 작동하고 이해하기 쉬워야한다.

var win = $(this);  // browser window 
var nav = $('.navbar'); // your navigation bar 

function switchNavbar() { 
    if (win.width() < 768) { // on mobile 
     nav.removeClass('navbar-static-top'); 
     nav.addClass('navbar-fixed-bottom'); 
    } else { // on desktop 
     nav.removeClass('navbar-fixed-bottom'); 
     nav.addClass('navbar-static-top'); 
    } 
} 

// On first load 
$(function() { 
    switchNavbar(); 
}); 

// When browser resized 
$(window).on('resize', function(){ 
    switchNavbar(); 
});