顶部导航栏,下拉菜单溢出问题

莎莉亚·莫汉(Shaurya Mohan)

顶部导航栏中的W3schools下拉列表示例。在代码的CSS部分中,导航栏将属性溢出设置为隐藏。在代码的HTML部分中,下拉部分是navbar部分的一部分。

现在当我将鼠标悬停在下拉按钮上时,dropdown-content(隐藏部分)变为可见(将属性,显示内容从无更改为块),并且由于navbar部分中的dropdown-content溢出而出现了溢出(我什至已检查使用检查元素,当下拉内容可见时导航栏的高度不会改变)。

现在的问题是,由于导航栏的溢出属性被隐藏,为什么下拉列表内容可见(这是一个溢出)?以及为什么导航栏的高度没有变化(样式中未指定导航栏的高度),并在其中添加了一个重要的高度附加分区?
这是示例中的代码:

body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0px;
}

.navbar {
  overflow: hidden;
  background-color: #333;
}

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

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

.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: 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;
}

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

.dropdown:hover .dropdown-content {
  display: block;
}
<!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">
</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>

<h3>Dropdown Menu inside a Navigation Bar</h3>
<p>Hover over the "Dropdown" link to see the dropdown menu.</p>

</body>
</html>

约翰

好几件事,.down-content该类设置为position: absolute;基本上忽略overflow: hidden;导航栏的高度以及其他大多数东西。导航栏也没有指定高度,因此实际上没有任何限制其大小的内容。

在下面的示例中,我position: absolute;.down-content班级中移除,并为班级添加了75px的高度.navbar看看这个

body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0px;
}

.navbar {
  overflow: hidden;
  background-color: #333;
  height: 75px;
}

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

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

.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: red;
}

.dropdown-content {
  display: none;
  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;
}

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

.dropdown:hover .dropdown-content {
  display: block;
}
<!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">

</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>

<h3>Dropdown Menu inside a Navigation Bar</h3>
<p>Hover over the "Dropdown" link to see the dropdown menu.</p>

</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导航栏溢出问题

来自分类Dev

引导导航栏下拉菜单出现问题

来自分类Dev

Rails中Foundation 5导航栏下拉菜单的问题

来自分类Dev

隐藏溢出的导航,但仍显示下拉菜单

来自分类Dev

为什么我的溢出下拉菜单位于操作栏顶部?

来自分类Dev

Bootstrap 4 导航栏:右对齐下拉菜单在右侧打开:溢出

来自分类Dev

离子导航栏下拉菜单

来自分类Dev

导航栏中的下拉菜单

来自分类Dev

引导导航栏下拉菜单

来自分类Dev

侧面导航栏下拉菜单

来自分类Dev

CSS下拉菜单导航栏

来自分类Dev

使导航栏的下拉菜单停留

来自分类Dev

Html 导航栏下拉菜单

来自分类Dev

悬停时的顶部导航栏下拉菜单消失得太快了

来自分类Dev

CSS溢出问题(带有导航栏)

来自分类Dev

下拉菜单和导航问题

来自分类Dev

Twitter Bootstrap 3-下拉菜单中的导航栏右问题

来自分类Dev

水平导航栏中的下拉菜单与定位相关的问题

来自分类Dev

导航栏中的用户菜单下拉菜单

来自分类Dev

CSS:使下拉菜单与顶部栏一样宽

来自分类Dev

带有下拉菜单的yii2导航栏

来自分类Dev

Bootstrap导航栏下拉菜单不起作用

来自分类Dev

下拉菜单项的引导导航栏背景颜色

来自分类Dev

更改导航栏登录下拉菜单以注销ajax

来自分类Dev

如何使Bootstrap导航栏下拉菜单内联

来自分类Dev

更改引导导航栏下拉菜单悬停颜色

来自分类Dev

导航栏中的Bootstrap下拉菜单不起作用

来自分类Dev

导航栏上的Bootstrap下拉菜单不起作用

来自分类Dev

如何仅在单击时显示导航栏的下拉菜单?