2017-02-14 1 views
2

저는 CSS로 전체적으로 반응이 빠른 디자인을 처음 접했습니다. 방금 작동하는 응답 메뉴를 만들었고 브라우저 창을 작게 만들면 내 PC에서 제대로 작동하지만 내 휴대폰에서 사이트를로드하면 축소되어 메뉴가 응답 성있는 것으로 표시되지 않습니다. 반응 형 메뉴가 모바일에서 작동하지 않습니다.

This is the site

가 나는, 사람이 작업을 수행하는 이유 단서가 없다? 최대 너비를 900px로 설정 했으므로 창이 너무 짧으면 메뉴가 실제로 고장납니다.

메뉴에 대한 HTML입니다 :

<ul class="topnav" id="myTopnav"> 
      <li><a href="#">Fonder</a></li> 
      <li><a href="#">Priser</a></li> 
      <li><a href="#">Produkter</a></li> 
      <li><a href="#">Frågor</a></li> 
      <li><a href="#">Juridik</a></li> 
      <li><a href="#">Om oss</a></li> 
      <li><a href="#" class="active">Hem</a></li> 
      <li class="icon"> 
       <a href="javascript:void(0);" onclick="myFunction()">&#9776;</a> 
      </li> 
     </ul> 

그리고 이것은 JS입니다 :

/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */ 
    function myFunction() { 
     var x = document.getElementById("myTopnav"); 
     if (x.className === "topnav") { 
      x.className += " responsive"; 
     } else { 
      x.className = "topnav"; 
     } 
    } 

그리고 이것은 반응 CSS입니다 :

@media screen and (max-width:900px) { 
    ul.topnav li {display:none;} 
    ul.topnav li.icon { 
     float: right; 
     display: inline-block; 
     opacity: 1; 
    } 
} 
@media screen and (max-width:900px) { 
    ul.topnav.responsive {position:relative;} 
    ul.topnav.responsive li.icon { 
     position: absolute; 
     right: 0; 
     top: 0; 
     background-color: none; 
     opacity: 1; 
    } 
    ul.topnav.responsive li { 
     float: none; 
     display: inline; 
     position: relative; 
     top: 32px; 
    } 
    ul.topnav.responsive li a { 
     display: block; 
     text-align: right; 
     /*background-color: red;*/ 
    } 
} 
+0

이 몇 가지 코드를 제시해주십시오 아래 링크를 통해 이동, 내가 대답을 제안하고있다. – AymDev

+1

두 미디어 쿼리 모두에서'max-width : 900px'와 동일한 이유를 사용하고 있습니다. –

+0

부트 스트랩을 사용하려고 시도 했습니까? –

답변

3

당신은 아마 필요 <head><meta>을 추가하십시오 :

<meta name="viewport" content="width=device-width, initial-scale=1"> 

것은 제대로이 <meta> (당신이 content 속성에 더 많은 값을 넣을 수 있습니다)를 사용하는 방법을 알고, 당신은이 책을 읽을 수 있습니다
Using the viewport meta tag to control layout on mobile browsers

+0

이것은 흥미로운 것 같습니다! 그것을 시도 할 것입니다 –

+0

@ 공역 그것을 시도하고 문제가 해결되면 내 대답을 받아들입니다 :) – AymDev

+0

음, 일종의. 그러나 그것은 모바일 장치에서 너무 많이 확대되는 방식입니다. 시도해 보면 텍스트가 더 넓다는 것을 알 수 있습니다. 너비를 변경하여 텍스트가 맞을 수 있습니까? –

-1

당신은 반응 사이트에 대한 부트 스트랩을 사용할 수 있습니다. 구현하기가 매우 쉽습니다. http://getbootstrap.com/getting-started/

또한 부트 스트랩을 사용하여 메뉴를 만들 수도 있습니다. (이 3 선을 경우에도)

Bootstrap Menus

+0

결코 부트 스트랩을 사용하지 않았지만, 그걸 살펴볼 것입니다! 부트 스트랩의 반응 메뉴 만 사용하고 나머지는 나 자신이 어떻게 든 할 수 있습니까? 아니면 막대한 양의 일이 될 것입니까? –

+0

부트 스트랩을 사용하면이 문제가 발생하지 않습니다. –

+0

부트 스트랩이 작업을 수행하더라도 프레임 워크는 답이 아닙니다. 누군가가 백 오피스를 만드는 방법을 알고 싶어 할 때 Wordpress를 repsonding하는 것과 같습니다 ... – AymDev