创建顶级菜单项和右侧登录菜单

时间:2013-03-07 21:22:23

标签: html css

创建与右边对齐的顶级菜单项和登录文字的最佳方法是什么?

CSS

body {
    margin: 0px;
}
#header {
    height: 25px;
    width: 100%;
    background-color: rgb(34, 34, 34);
    color: #fff;
    font-family:'segoe ui', arial, helvetica, sans-serif;
    font-size: 13px;
    padding: 10px;
}
#header ol {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}
#header li {
    position: relative;
    display: -moz-inline-box;
    display: inline-block;
    line-height: 27px;
    padding: 0;
    vertical-align: top;
    margin-right: 10px;
}
#login_details {
    float: right;
    display: inline-block;
}

HTML

<div id="header">

<ol>
    <li>Page 1</li>
    <li>Page 2</li>
    <li>Page 3</li>
    <li>Page 4</li>
</ol>

<div id="login_details">
dd
</div>

</div>

我正在尝试这样做,但 login_details 中的文字未正确对齐。

http://jsfiddle.net/KqqyY/

3 个答案:

答案 0 :(得分:1)

使用CSS text-align属性并制作ol float:left。我还添加了一些东西:

#login_details {
    float: right;
    display: inline-block;
    text-align: right;
}

#header ol {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
}

#header {
    height: 25px;
    // Get rid of the 100% width to make it fit on screen
    background-color: rgb(34, 34, 34);
    color: #fff;
    font-family:'segoe ui', arial, helvetica, sans-serif;
    font-size: 13px;
    padding: 10px;
}

答案 1 :(得分:1)

login_details div放在列表前面:

<div id="header">
    <div id="login_details">dd</div>
    <ol>
        <li>Page 1</li>
        <li>Page 2</li>
        <li>Page 3</li>
        <li>Page 4</li>
    </ol>
</div>

并更改您的CSS以在您的login_details div中包含line-height: 27px;

#login_details {
    float: right;
    display: inline-block;
    line-height: 27px;
}

<强> jsFiddle example

由于您将登录详细信息框浮动到右侧,因此它需要位于列表之前才能位于同一行。

答案 2 :(得分:1)

您的#header容器的容量为100%,然后为其添加填充,使其增长超过100%,您可以使用box-sizing:border-box

来解决此问题
#header {
    height:45px; /* The original 25px plus the paddings from the top and bottom */
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}

请参阅此JSFiddle:http://jsfiddle.net/KqqyY/2/