2017-05-15 2 views
0

첫 번째 질문은 양해 해 주셔서 감사합니다.부트 스트랩 모바일 메뉴가 열리지 않습니다

나는 비슷한 질문을하고 솔직하게 하나를 찾지 못해 놀랐다.

필자도이 점을 충분히 배웠습니다. 여기

https://jsfiddle.net/jhallwebdev/gm6r6mLu/5/

HTML

<body> 
<div class="container-fluid"> 
    <div class="row yellow container-fluid"> <!-- YELLOW NAV ROW --> 
     <div class="col-lg-1 col-md-2 col-sm-2 col-xs-2"> 
      <div> 
       <img src="logo.jpeg" alt="logo" title="logo" width="100px" height="100px" class="my-image"> 
      </div> 
     </div> 
     <div class="col-lg-5 col-md-7 col-sm-7 col-xs-7"> 
      <div class="jer-margin-left"> 
       <div class="header-title">My Bootstrap Site</div> 
       <div class="header-slogan">And its navbar problem...</div> 
      </div> 
     </div> 
     <div class="col-lg-6 col-md-3 col-sm-3 col-xs-3"> 
      <div> 
       <nav class="navbar navbar-default"> 
        <div class="container-fluid"> 
         <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> 
         </div> 
         <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
          <ul class="nav navbar-nav jer-nav"> 
           <li class="jer-active"><a href="#">HOME <span class="sr-only">(current)</span></a></li> 
           <li><a href="#">ABOUT US</a></li> 
           <li><a href="#">SERVICES</a></li> 
           <li><a href="#">FORMS</a></li> 
           <li><a href="#">CONTACT US</a></li> 
          </ul> 
         </div><!-- /.navbar-collapse --> 
        </div><!-- /.container-fluid --> 
       </nav> 
      </div> 
     </div> 
    </div> <!-- END YELLOW NAV ROW --> 
</div> <!-- END CONTAINER --> 

CSS

[hidden] { 
    display: none; 
} 

* { 
    box-sizing: border-box; 
} 

.yellow { 
    background-color: rgb(253, 232, 104); 
    width: 100%; 
} 

.my-image { 
    margin: 10px; 
} 

.jer-margin-left { 
    margin-left: 15px; 
} 

.header-title { 
    color: #000; 
    font-family: Merriweather; 
    font-style: italic; 
    font-size: 30px; 
    margin: 20px 0 0 0; 
} 

.header-slogan { 
    color: #000; 
    font-family: Merriweather; 
    font-style: italic; 
    font-size: 22px; 
} 

.no-left-margin { 
    margin-left: -70px; 
} 

.navbar-default { 
    background-color: rgb(253, 232, 104); 
    border-color: rgb(253, 232, 104); 
    padding-top: 20px; 
} 

.jer-nav { 
    padding-top: 10px; 
    padding-bottom: 10px; 
    color: #000; 
    text-align: center; 
    font-family: Montserrat; 
    font-size: 16px; 
    text-transform: uppercase; 
    float: right; 
} 

.navbar-default .navbar-nav>li>a { 
    color: #000; 
} 

.navbar-default .navbar-nav>li>a:hover { 
    color: white; 
} 

.container-fluid { 
    padding-right: 0; 
    padding-left: 0; 
    margin: 0; 
} 

.jer-active { 
    border: silver solid 1px; 
    background-color: rgb(253, 232, 104); 
} 

@media (max-width: 420px) { 
    .jer-margin-left { 
     margin-left: 65px; 
    } 
} 

@media (max-width: 600px) { 
    .header-title { 
     font-size: 22px; 
    } 

    .header-slogan { 
     font-size: 15px; 
    } 

    .jer-margin-left { 
     margin-left: 45px; 
    } 
} 

@media (max-width: 1200px) { 
    .ph-float-right { 
     float: none; 
     margin-right: 0; 
    } 
    .navbar-header { 
     float: none; 
    } 
    .navbar-toggle { 
     display: block; 
    } 
    .navbar-collapse { 
     border-top: 1px solid transparent; 
     box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); 
    } 
    .navbar-collapse.collapse { 
     display: none!important; 
    } 
    .navbar-nav { 
     float: none!important; 
     margin: 7.5px -15px; 
    } 
    .navbar-nav>li { 
     float: none; 
    } 
    .navbar-nav>li>a { 
     padding-top: 10px; 
     padding-bottom: 10px; 
    } 
} 

를 볼 수있는 모바일 메뉴를 강제로 출력 윈도우의 크기를 줄일 수 있습니다. (가로 텍스트 메뉴 대신)

문제 1 : 모바일 메뉴를 열려면 두 번 클릭해야합니다. 이것이 첫 번째 문제입니다.

문제점 2 : 열어 두지 않습니다.

바이올린을 설치하면서 나는 모든 CSS가 제거 된 것과 같은 CSS 문제가 희망대로 작동한다고 믿게되었습니다. 내가 바이올린을 제대로 설정하면 내 CSS가 CSS 창에 있고 주식 부트 스트랩 CSS가 jsfiddle의 외부 리소스 옵션을 통해 들어옵니다.

고맙습니다.

답변

1

, 당신은 그것을 제거해야합니다 :

.navbar-collapse.collapse { 
    display: none!important; 
} 

부트 스트랩은 data-toggle="collapse" 요소에 class="collapse"class="collapse show"를 사용합니다.

당신이 당신의 스타일 !important을 만들어했기 때문에 요소를 표시하는 class="collapse show"있는 기능을 재정의

또한 당신은 또한 당신의 선택에 두 개의 클래스를 참조하여 부트 스트랩 선택기의 특이성과 일치했기 때문에.부트 스트랩의 전환을 보여 다른 클래스 'collapsing'를 추가하고 요소가 'collapse show collapsing'을 때, 그것은 볼 수 있지만, 그것은 단지 'collapse collapsing' 때,이 아니기 때문에

당신이 '두 번 클릭'했던 이유입니다.

+0

여기 어디서나 붕괴 쇼 수업을 볼 수 없습니다. 그럴까요? 부트 스트랩 사이트에서 바로 navbar를 복사했습니다. 그런 다음 필요없는 부분을 제거했습니다. 나는 어떤 수업도 삭제하지 않았다. –

+0

아니요, 해당 클래스는 부트 스트랩의 JavaScript에 의해 요소에 추가됩니다. (https://v4-alpha.getbootstrap.com/components/collapse/) –

+0

제거하면 반대가됩니다. 메뉴는 기본적으로 열립니다. 그리고 그것을 닫으려면 클릭하면 다시 열립니다. –

0

도 확인하십시오 부트 스트랩 js에 대한 html 링크가 있습니까?

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
+0

예. bootstrap.min.js는 jsfiddle 페이지의 외부 리소스에 있습니다. –

+0

죄송합니다. 제가 확인한 후에 그것을 보았습니다. 위의 해결 방법이 정확합니다. 일반적으로 내 연습은 내 자신의 CSS 파일에서 부트 스트랩 클래스를 사용하지 않는 것입니다. –

1

.navbar-collapse.collapse { 
     display: none!important; 
    } 

을 제거함으로써 바이올린 켜는 사람을보고 한 후 문제를 해결합니다. 는 CSS에서

내가 UR 1 문제를 재현 할 수없는 오전 @media (max-width: 1200px)

에서 위의 코드를 제거합니다.

업데이트 삭제 한 항목이 확실하지 않습니다. 다음은 업데이트 된 코드입니다. 이보기에서 제거 할 수있는 브라우저를 말하고있다

[hidden] { 
    display: none; 
} 

* { 
    box-sizing: border-box; 
} 

.yellow { 
    background-color: rgb(253, 232, 104); 
    width: 100%; 
} 

.my-image { 
    margin: 10px; 
} 

.jer-margin-left { 
    margin-left: 15px; 
} 

.header-title { 
    color: #000; 
    font-family: Merriweather; 
    font-style: italic; 
    font-size: 30px; 
    margin: 20px 0 0 0; 
} 

.header-slogan { 
    color: #000; 
    font-family: Merriweather; 
    font-style: italic; 
    font-size: 22px; 
} 

.no-left-margin { 
    margin-left: -70px; 
} 

.navbar-default { 
    background-color: rgb(253, 232, 104); 
    border-color: rgb(253, 232, 104); 
    padding-top: 20px; 
} 

.jer-nav { 
    padding-top: 10px; 
    padding-bottom: 10px; 
    color: #000; 
    text-align: center; 
    font-family: Montserrat; 
    font-size: 16px; 
    text-transform: uppercase; 
    float: right; 
} 

.navbar-default .navbar-nav>li>a { 
    color: #000; 
} 

.navbar-default .navbar-nav>li>a:hover { 
    color: white; 
} 

.container-fluid { 
    padding-right: 0; 
    padding-left: 0; 
    margin: 0; 
} 

.jer-active { 
    border: silver solid 1px; 
    background-color: rgb(253, 232, 104); 
} 

@media (max-width: 420px) { 
    .jer-margin-left { 
     margin-left: 65px; 
    } 
} 

@media (max-width: 600px) { 
    .header-title { 
     font-size: 22px; 
    } 

    .header-slogan { 
     font-size: 15px; 
    } 

    .jer-margin-left { 
     margin-left: 45px; 
    } 
} 

@media (max-width: 1200px) { 
    .ph-float-right { 
     float: none; 
     margin-right: 0; 
    } 
    .navbar-header { 
     float: none; 
    } 
    .navbar-toggle { 
     display: block; 
    } 
    .navbar-collapse { 
     border-top: 1px solid transparent; 
     box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); 
    } 

    .navbar-nav { 
     float: none!important; 
     margin: 7.5px -15px; 
    } 
    .navbar-nav>li { 
     float: none; 
    } 
    .navbar-nav>li>a { 
     padding-top: 10px; 
     padding-bottom: 10px; 
    } 
} 
+0

해당 섹션을 제거하면 모바일 메뉴가 영구적으로 열립니다. 기본적으로 열어 두지 않습니다. 닫으려면 클릭하십시오. 즉시 다시 열립니다. 이전에 일어난 일과는 반대입니다. –

+0

제안 된 코드와 다른 하나의 코드를 제거한 후 제대로 작동하도록 만들 수있었습니다. 두 번째 작품이 무엇인지 기억이 안납니다. 그게 도움이되지 않는다는 걸 압니다. 나는 제대로 작동하도록 만들었지 만. 고맙습니다. –