简体   繁体   English

如何根据视口使导航栏响应?

[英]How do I make the navbar responsive depending on the viewport?

I want to make a responsive webpage.我想做一个响应式网页。 I want it to display a different nav based on the viewport.我希望它根据视口显示不同的导航。 Here is the javascript that I have so far:这是我到目前为止所拥有的 javascript:

 var shownav = document.getElementById('show-nav'); if (screen.width < "720"){ shownav.style.display = 'block'; }

But for some reason, it does not work.但由于某种原因,它不起作用。 Can you please help me?你能帮我么?

You can achieve this without javascript by using a media-query :您可以使用media-query 在没有 javascript 的情况下实现此目的:

 #show-nav { display: none; background-color: red; } /* if screen width is smaller than 720px, #show-nav will be a block */ @media only screen and (max-width: 720px) { #show-nav { display: block; } }
 <nav id="show-nav"> Navbar </nav>

You could use only css to do so.您只能使用 css 来执行此操作。

DEMO (make it full page)演示(使其成为整页)

 body{ margin: 0; } nav{ width: 100vw; background:yellow; } @media only screen and (min-width: 720px){ nav{ background:red; } }
 <nav> <ul> <li>Welcome</li> </ul> </nav

@media only screen and (max-width: 720px) {
  #show-nav {
    display: block;
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM