gpt4 book ai didi

html - 使包装元素相对时覆盖绝对元素

转载 作者:行者123 更新时间:2023-12-05 09:33:54 24 4
gpt4 key购买 nike

这是对此处 W3School 示例的问题:https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_dropdown_navbar

您可以在标题中看到“下拉”按钮 - 它没有定位为相对。如果我将 .dropdown 元素设置为 relative,则 absolute 下拉列表不再起作用。

我创建了一个 JsFiddle .我只在第 30 行添加了一行。

有人可以解释一下 - 为什么当包装元素定位为 relative 时,absolute 下拉列表被覆盖?

最佳答案

几个问题:

  1. 您的下拉内容是absolute,因此您应该指定位置您要放置到相对父元素 位置:relative。使用topleftright 和/或底部定位放置绝对元素。定位放置绝对元素。

  2. 此外,您的溢出需要可见,否则您将无法看到下拉内容。默认情况下不添加溢出将设置它可见,以便可以将其删除。

我还使用 display: flex 删除了导航项的旧 float ,这将默认将元素内嵌在 flex 元素中,而无需清除 float 。

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

.navbar {
display: flex;
background-color: #333;
}

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

.dropdown {
/* !!! I'm making the wrapping element position as relative !!!*/
position:relative;
}

.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;
top: 46px;
left: 0;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 10;
}

.dropdown-content a {
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;
}
<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>

关于html - 使包装元素相对时覆盖绝对元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66947245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com