<分区>
<分区>
绝对定位元素使用 body
元素作为 anchor 而不是父 a
元素
* { box-sizing: border-box }
a { text-decoration: none }
body { font-family: Calibri; padding-top: 30px; }
#menu {
border: 1px solid red;
padding: 10px;
display: flex;
flex-flow: row nowrap;
}
#menu > a {
position: relative;
}
#menu > a, #submenu > a {
width: 100px;
line-height: 40px;
text-align: center;
background-color: rgb(238, 238, 238);
border-right: 1px solid black;
}
#menu > a:hover, #submenu > a:hover {
background-color: #fff;
}
#submenu {
display: flex;
flex-flow: column nowrap;
position: absolute;
top: 40px;
}
<div id="menu">
<a href="#">Menu Item</a>
<a href="#">Menu Item</a>
<a href="#">Menu Item</a>
<div id="submenu">
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
</div>
<a href="#">Menu Item</a>
</div>
最佳答案
根据你的问题 absolute-submenu
应该在 relative-menu3
内,只是修复了标记,希望这是你面临的问题
* { box-sizing: border-box }
a { text-decoration: none }
body { font-family: Calibri; padding-top: 30px; }
#menu {
border: 1px solid red;
padding: 10px;
display: flex;
flex-flow: row nowrap;
}
#menu > a {
position: relative;
}
#menu > a, #submenu > a {
width: 100px;
line-height: 40px;
text-align: center;
background-color: rgb(238, 238, 238);
border-right: 1px solid black;
}
#menu > a:hover, #submenu > a:hover {
background-color: #fff;
}
#submenu {
display: flex;
flex-flow: column nowrap;
position: absolute;
top: 40px;
}
<div id="menu">
<a href="#">Menu Item</a>
<a href="#">Menu Item</a>
<a href="#">
Menu Item
<p id="submenu">
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
<a href="#">Sub Menu</a>
</p>
</a>
<a href="#">Menu Item</a>
</div>
关于html - 相对定位的 parent 不作为绝对定位的 child 的 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51722261/