我有一个CSS导航栏,但每当我尝试调整浏览器窗口的大小时,导航栏就会创建一个新行,而不是在屏幕外继续。我已经尝试添加min-width
,它适用于我网站上的其他div,但它没有做任何事情
jsfiddle:https://jsfiddle.net/oddrmg9w/ 左侧的白色空间是有意的,这就是徽标的位置。
答案 0 :(得分:0)
这里的问题是,您在fixed
定位元素中有一个absolute
个定位元素。
在最常见的情况下,您的主导航将设置为fixed
的位置,以便将其从文档流中取出,将其粘贴到屏幕上的永久位置,该位置保持在屏幕上方所有的内容。
在这种情况下,问题是您必须删除.navbar ul
fixed
的{{1}}位置并将其应用到.navbar
容器中,如下所示:
.navbar {
min-width: 720px;
max-width: 100%;
position: fixed;
left: 0;
right: 0;
}
.navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #ff2d2d;
z-index: 1;
top: 0px;
left: 240px;
right: 0px;
}
.navbar li {
float: left;
}
.navbar li a {
display: block;
color: white;
text-align: center;
padding: 10px 20px;
text-decoration: none;
}
.navbar li a:hover {
background-color: orange;
}
.active {
background-color: yellow;
}
left
和right
值表示元素粘贴在浏览器窗口的左右墙上,无论如何。您还可以添加top: 0
属性,将容器粘贴到窗口顶部。
以下是 fiddle ,我认为您希望实现这一目标。
你应该了解你的html和css基础知识。所以我建议你进一步阅读Mozilla Developer Network's site.
中的定位答案 1 :(得分:0)
如果您想让div保持宽度并让它退出可见屏幕,只需将position: fixed
及其所有设置从ul
移至navbar
即可
:
.navbar {
min-width: 720px;
max-width: 100%;
position: fixed;
z-index: 1;
top: 0px;
left: 240px;
right: 0px;
}
.navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #ff2d2d;
}
.navbar {
min-width: 720px;
max-width: 100%;
position: fixed;
z-index: 1;
top: 0px;
left: 240px;
right: 0px;
}
.navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #ff2d2d;
}
.navbar li {
float: left;
}
.navbar li a {
display: block;
color: white;
text-align: center;
padding: 10px 20px;
text-decoration: none;
}
.navbar li a:hover {
background-color: orange;
}
.active {
background-color: yellow;
}

<div class="navbar">
<ul>
<li style="float: right;"> <a href="About.html">About </a>
</li>
<li> <a href="Dtier.php">D-tier</a>
</li>
<li> <a href="Ctier.php">C-tier</a>
</li>
<li> <a href="Btier.php">B-tier</a>
</li>
<li> <a href="Atier.php">A-tier</a>
</li>
<li> <a class="active" href="Stier.php">S-tier</a>
</li>
<li> <a href="vote.php">Vote</a>
</li>
</ul>
</div>
&#13;