我有一个下拉菜单,其位置应该取决于标题的高度。根据视口高度,标题的高度根据内容,媒体查询设置的字体大小和填充而变化。CSS响应绝对定位
HTML:
<header>
<p>Example</p>
<nav>
<a>Link</a>
<a>Link</a>
<a>Link</a>
</nav>
</header>
CSS:
body {
background-color: white;
}
header {
background-color: grey;
padding: 1rem 0;
position: fixed;
width: 100%;
}
@media(max-height: 500px) {
header {
padding: 0;
}
}
nav {
background-color: #CCC;
position: absolute;
top: 82px;
width: 100%;
}
a {
border-bottom: 1px solid white;
display: block;
padding: 0.75rem;
}
想象nav
是折出下拉菜单。
小提琴:https://jsfiddle.net/mjufc63b/2/
如果你减少到低于500像素,看起来头和导航之间的白色差距,这不应该是让你的窗口的高度。此外,如果您更改浏览器的字体大小。
有没有解决方案让下拉菜单总是独立于标题的高度,也高于其他内容(绝对定位是什么),而不使用javascript,并且不会移动header
以外的nav
?
的'nav'应自动移动到顶部和缩小差距,而不需要重新定义与保证金媒体查询中的'top'css属性。在这个例子中,我可以这样做,是的,但是如果标题高度因内容的字体大小或高度而改变,我不能定义“顶部”边距。 – Hativ
是的,对不起,我误解了你的问题。你可以检查我的答案。 – Armin