如何在javascript中打开图标

时间:2017-03-31 12:57:03

标签: javascript html css

我正在创建一个网站,在标题的导航栏中,我有左侧的徽标和右侧其他页面的链接,当浏览器调整为小于600px时,所有链接都应该是进入一个图标,但徽标仍然存在。

当我点击图标时,链接的格式和图标会更改为默认设置,我希望链接一个接一个地显示在彼此之下like this(示例来自www.W3Schools.com)

我希望有人可以帮我解决这个错误。

谢谢。

<div class="slideshow_nav">
          <div class="navbar-wlogo">
            <img src="/Users/yanikwick/Documents/canvas_website/logo.png" alt="logo" class="logo "width = "175px">
            <nav class="topnav" id="myTopnav">
              <a href="/html/contact">CONTACT</a>
              <a href="/html/about">ABOUT</a>
              <a href="/html/portfolio">PORTFOLIO</a>
              <a href="/html/">HOME</a>
              <a href="javascript:void(0);" style="font-size:30px;" class="icon" onclick="myFunction()">&#9776;</a>
            </nav>
          </div>

这是导航栏的html。

function myFunction() {
    var x = document.getElementById("myTopnav");
    if (x.className === "topnav") {
      x.className += " responsive";
      } else {
        x.className = "topnav";
      }
  }

这是javascript。

header .logo{


float: left;
  margin: 0px;
  padding: 10px 10px 5px 10px;
}

header .topnav{
  overflow: hidden;
  margin-right: 20px;
}

header .topnav a{
  float: right;
  display: block;
  color: #f2f2f2;
  text-align: center;
  margin-top: 2%;
  margin-bottom: 2%;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav .icon {
  display: none;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}

@media screen and (max-width: 600px){
  .topnav a:not(:last-child) {display: none;}
  .topnav a.icon {
    display: inline-block;
      float: right;
    }

@media screen and (max-width: 600px) {
  .topnav .responsive {
    position: relative;
  }
  .topnav .responsive .icon {
    float: right;
  }
  .topnav .responsive a{
    float: none;
    display: block;
    text-align: left;
  }
}

CSS

如果你帮助我,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

问题是,如果.topnav应用响应,则不设置链接的可见性...

如下所示:

.topnav.responsive a {
  display:block;
}

@media screen and (max-width: 600px){
...
}

这里有一个工作的jsbin;) http://jsbin.com/vupizuyeji/edit?html,css,js,output

Cheerio:)