首页 > 解决方案 > 博客上的下拉导航栏不起作用

问题描述

我在使用下拉菜单时遇到导航栏问题:

当我在浏览器上单独运行代码时,它可以工作,但是当我在博客上运行时,它根本不起作用:

代码如下,输出如下

在此处输入图像描述


Result Size: 945 x 903
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
.navbar {
  overflow: hidden;
  background-color: #333;
  font-family: Arial, Helvetica, sans-serif;
}
​
.navbar a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
​
.dropdown {
  float: left;
  overflow: hidden;
}
​
.dropdown .dropbtn {
  cursor: pointer;
  font-size: 16px;  
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}
​
.navbar a:hover, .dropdown:hover .dropbtn, .dropbtn:focus {
  background-color: red;
}
​
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
​
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;

如您所见,下拉链接在博客中不起作用: 在此处输入图像描述

我想在下拉菜单中放入博客中访问次数较多的帖子、博客的档案和博客的标签。

PS:我用的是博主

非常感谢 =)

编辑:

我正在使用以下代码调用导航栏:


<div id='header-holder'>
    <header class='clearfix'>
        <div class='col-sm-12 col-md-6 col-md-offset-3 col-lg-7 col-lg-offset-2 col-content' id='description'>
          <h1 class='sr-only'>
            <data:blog.pageName/>
          </h1>
          <p class='siteintro sr-only'/>
        </div>
    </header>
    <div class='navbar'>
        <a href='#home'>Home</a>
        <a href='#news'>News</a>
        <div class='dropdown'>
            <button class='dropbtn'>Dropdown 
                <i class='fa fa-caret-down'/>
            </button>
            <div class='dropdown-content'>
                <a href='#'>Link 1</a>
                <a href='#'>Link 2</a>
                <a href='#'>Link 3</a>
            </div>
        </div> 
    </div>
</div>

css来自以下blogger


.dropdown .dropbtn {
  cursor: pointer;
  font-size: 16px;  
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}

.navbar a:hover, .dropdown:hover .dropbtn, .dropbtn:focus {
  background-color: #00A2FF;
  color: #fff;
  text-weight:900;
}



.dropdown-content {
  display: none;
  color: white;
  position: absolute;
  background-color: #B3D6FD;
  min-width: 160px;
  z-index: 1;
}



.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
  color: #fff;
}

.dropdown-content a:hover {
  background-color: #00A2FF;
}





.navbar {
  overflow: hidden;
  background-color: #B3D6FD;
  font-family: Giorgia;

}


.navbar a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}


.dropdown {
  float: left;
  overflow: hidden;
}



.dropdown .dropbtn {
  font-size: 16px;  
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}

.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: #B3D6FD
}




.dropdown:hover .dropdown-content {
  display: block;
}




body .navbar {
    height: 20px;
    width: 85%;
    margin-left: 15%;
    margin-botton: 5.0%;
    margin-top: -4em;
    position: relative;
    border-radius: 0;
    margin-top: -1em;
    position: relative;
    border-radius: 0;
    position: absolute;
    float:top;
}


.show {
  display: block;
}

标签: htmlcssnavbar

解决方案


我已经修复了你的代码

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <style>
        .navbar {
            overflow: hidden;
            background-color: #B3D6FD;
            font-family: Giorgia;
        }

        .navbar a {
            float: left;
            font-size: 16px;
            color: white;
            text-align: center;
            padding: 14px 16px;
            text-decoration: none;
        }

        .dropdown {
            float: left;
            overflow: hidden;
        }

        .dropdown .dropbtn {
            cursor: pointer;
            font-size: 16px;
            border: none;
            outline: none;
            color: white;
            padding: 14px 16px;
            background-color: inherit;
            font-family: inherit;
            margin: 0;
        }

        .navbar a:hover,
        .dropdown:hover .dropbtn,
        .dropbtn:focus {
            background-color: #00A2FF;
            color: #fff;
        }

        .dropdown-content {
            display: none;
            position: absolute;
            background-color: #B3D6FD;
            color: white;
            min-width: 160px;
            z-index: 1;
        }

        .dropdown-content a {
            float: none;
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
            text-align: left;
            color: #fff;
        }

        .dropdown-content a:hover {
            background-color: #00A2FF;
        }

       .dropdown:hover .dropdown-content {
            display: block;
        }
    </style>
</head>

<body>

    <div class="navbar">
        <a href="#home">Home</a>
        <a href="#news">News</a>
        <div class="dropdown">
            <button class="dropbtn">Dropdown
                <i class="fa fa-caret-down"></i>
            </button>
            <div class="dropdown-content">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Link 3</a>
            </div>
        </div>
    </div>
</body>

</html>

您的主要问题是您没有很好地关闭<i>标签,并且您将导航栏上的高度设置为 20px(太小了)。


推荐阅读