这是我的css和html
#header {
position: absolute;
left: 0;
right: 0;
top: 0;
background-image: url('/public/images/header.png');
background-repeat: repeat-x;
}
#nav {
background: transparent;
height: 2.5em;
left: -25px;
list-style: none;
margin: 1em 0 1em;
min-width: 100%;
min-height: 100%;
overflow: hidden;
padding: 60px 0 30px 0;
}
#nav a {
color: white;
display: block;
float: left;
height: 2.5em;
padding-left: 30px;
text-decoration: none;
padding-right: 30px;
text-shadow: 0.1em 0.1em #333;
}
#nav a:hover {
text-shadow: 0.1em 0.1em white;
background-color: white;
color: darkred;
padding-bottom: 5px;
text-shadow: 0.1em 0.1em lightgray;
}
#nav a:hover.active, #nav a.active {
background-color: white;
background-position: 0 -60px;
color: darkred;
text-shadow: 0.1em 0.1em lightgray;
padding-bottom: 5px;
}
#nav li {
float: left;
margin: 0 8px 0 0;
/* Spacing between tabs */;
}
#nav span {
cursor: pointer;
display: block;
float: left;
line-height: 1.5em;
padding: .5em 5px 0 0;
}
<div id="header">
<div id="navigation">
<ol id="nav">
<li><a id="overview" href="/overview"><span>Overview</span></a></li>
<li><a id="analysis" href="/overview" class="active"><span>Analysis</span></a></li>
<li><a id="dashboard" href="/dashboard"><span>My Dashboard</span></a></li>
<li><a id="preferences" href="/overview"><span>Preferences</span></a></li>
<li><a id="contact" href="/overview"><span>Contact</span></a></li>
<li><a id="logout" href="/overview"><span>Sign In</span></a></li>
</ol>
</div>
</div>
这在我的屏幕上看起来很好但是如果我开始调整窗口大小,它会使标签跳转并转到下一行。我发现在其他带有标签的网站上并非如此。我在这做错了什么?感谢。
答案 0 :(得分:3)
这些“其他网站”可能会将<div id="header">
包含在另一个元素中,例如<div id="container">
,并使用CSS设置明确的宽度,例如width: 960px
:
请参阅: http://jsfiddle.net/mBJQN/
<div id="container">
YOUR HTML HERE
</div>
#container {
width: 960px;
position: relative
}
我添加了position: relative
,以便position: absolute
上的#header
相对于#container
(see here)。
这里还有另一种选择,但它可能不是你追求的选择。
您可以将white-space: nowrap
添加到#header
,然后从float
更改为display: inline-block
。如果 是您想要的选项,请告诉我,因为它需要更多的工作。