【发布时间】:2021-07-30 19:42:01
【问题描述】:
我想创建一个基本的导航栏,它始终位于页面顶部,即使在您滚动时也是如此。此外,导航栏的宽度应与其显示的屏幕宽度一样宽。
我目前的尝试是这样的:
CSS:
#header {
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
background-color:white;
}
#nav-list li {
list-style: none;
display: inline-block;
}
#header-img {
width: 20vw;
}
HTML:
<header id="header">
<img id="header-img" src="https://cdn.freecodecamp.org/testable-projects-fcc/images/product-landing-page-logo.png" alt="Logo">
<nav id="navbar">
<ul id="nav-list">
<li><a class="nav-link" href="#function">Function</a></li>
<li><a class="nav-link" href="#terms">Terms</a></li>
<li><a class="nav-link" href="#privacy">Privacy</a></li>
</ul>
</nav>
</header>
我的尝试得出了这样的结果:
但是,如您所见,导航栏并没有填满整个屏幕。三个链接应该推到一边。
我是 HTML/CSS 新手,我目前知道的唯一可能的解决方法是:
width: 100%;
但我很确定我不应该那样做。谢谢你的回答! :)
【问题讨论】:
-
您是否在标题中添加了宽度?
width: 100vw; -
我认为将 width:100% 添加到#header 可以很好地使其适合页面的整个宽度,即使在滚动后也能保持原位,请将 top:0 添加到相同的#header ,我在 JSFIDDLE 中发布了您的代码,我提出的所有这些建议都很好。
标签: html css flexbox css-position