调整窗口大小使标签转到下一行

时间:2011-05-24 12:35:39

标签: html css

这是我的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>

这在我的屏幕上看起来很好但是如果我开始调整窗口大小,它会使标签跳转并转到下一行。我发现在其他带有标签的网站上并非如此。我在这做错了什么?感谢。

1 个答案:

答案 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相对于#containersee here)。


这里还有另一种选择,但它可能不是你追求的选择。

您可以将white-space: nowrap添加到#header,然后从float更改为display: inline-block。如果 是您想要的选项,请告诉我,因为它需要更多的工作。

http://jsfiddle.net/mBJQN/1/