2013-03-07 3 views
0

Каков наилучший способ создания элементов верхнего меню и текста входа, выровненного вправо?Создание элементов верхнего меню и правильное меню входа в систему

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/

ответ

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 включить line-height: 27px; на вашем login_details DIV:

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

jsFiddle example

С тех пор, как вы разместили поле для входа в систему справа, оно должно прийти перед списком, чтобы сидеть в одной строке.

1

Используйте свойство CSS text-align и сделать olfloat: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

Ваш #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/