我的标题元素没有高度。我有一个导航条,就像这样:
nav {
display: block;
}
.main_nav_bar {
width: 100%;
position: fixed;
top: 0px;
z-index: 3;
}
.drop-down-menu {
float: right;
}
.drop-down-button {
padding: 15px;
font-size: 40px;
}
.drop-down-content {
width: 100vw;
}
.drop-down-content a {
text-align: center;
font-size: 200%;
}<!DOCTYPE html>
<html>
<head>
Extra Unimportant Stuff
</head>
<body>
<header> Important
<nav class = "main_nav_bar">
<div class = "drop-down-menu" onclick = "openDropDownContent()">
<button class = "drop-down-button"> <i class = "fa fa-bars fa-lg"></i> </button>
<div class = "drop-down-content" id = "drop-down-content">
<a href = "index.php"> Homepage </a>
⋮ Some other similar anchor tags.
</div>
</div>
</nav>
</header>
<main>
⋮
Extra Unimportant Stuff
</main>
<footer>
</footer>
</body>
</html>
当然,代码片段不起作用,因为它是一个大纲。当我使用.main_nav_bar检查元素和类.drop_down_menu类(如各自的图像中所示)时,我看到它们都有一个高度:
但是标题没有高度?如图所示:
为什么是这种情况?为什么标头不改变它的高度以适应子元素?我试过overflow: auto,但那不起作用。
发布于 2022-05-18 17:28:32
当元素的position值不是static (默认)时,它就脱离了布局的正常流。这意味着它的行为和它的祖先、后代和兄弟姐妹的行为是非常不同的。请参阅位置上的本文,当然还有MDN
让你的<header>修复而不是<nav>
header {
position: fixed;
top: 0;
z-index: 3;
outline: 5px dashed red;
}从position、top和z-index中删除<nav>
header {
position: fixed;
top: 0;
outline: 5px dashed red;
}
nav {
display: block;
}
.main_nav_bar {
width: 100%;
}
.drop-down-menu {
float: right;
}
.drop-down-button {
padding: 15px;
font-size: 40px;
}
.drop-down-content {
width: 100vw;
}
.drop-down-content a {
text-align: center;
font-size: 200%;
}<!DOCTYPE html>
<html>
<head>
Extra Unimportant Stuff
</head>
<body>
<header> Important
<nav class="main_nav_bar">
<div class="drop-down-menu" onclick="openDropDownContent()">
<button class="drop-down-button"> <i class = "fa fa-bars fa-lg"></i> </button>
<div class="drop-down-content" id="drop-down-content">
<a href="index.php"> Homepage </a> ⋮ Some other similar anchor tags.
</div>
</div>
</nav>
</header>
<main>
⋮ Extra Unimportant Stuff
</main>
<footer>
</footer>
</body>
</html>
https://stackoverflow.com/questions/72293464
复制相似问题