2013-04-09 3 views
0

jsFiddleCentered Меню ж/CSS

Мне нужно центрировать свой фиксированный СЧ заголовка, который с помощью маркированного списка. Элемент среднего списка остается пустым, так как я помещаю на него фоновое изображение.

Прямо сейчас он «выглядит» по центру, но если вы используете резиновое окно браузера, вы можете видеть, что это не так. Я могу достичь почти среднего, уменьшив ширину от 960 пикселей до ~ 780 пикселей, но я не хочу этого делать.

Уверен, что я пропустил здесь что-то простое. Благодаря!

HTML:

<header> 
    <nav> 
     <ul> 
      <li><a class="active" href="#">Home</a></li> 
      <li><a href="#">Portfolio</a></li> 
      <li><a href="#">Services</a></li> 
      <li class="logo"></li> 
      <li><a href="#">Blog</a></li> 
      <li><a href="#">About</a></li> 
      <li><a href="#">Contact</a></li> 
     </ul> 
    </nav> 
</header> 

CSS

html, body, div, span, applet, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
a, abbr, acronym, address, big, cite, code, 
del, dfn, em, img, ins, kbd, q, s, samp, 
small, strike, strong, sub, sup, tt, var, 
b, u, i, center, 
dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary, 
time, mark, audio, video { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    font: inherit; 
} 
/* HTML5 display-role reset for older browsers */ 
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { 
    display: block; 
} 


body{ 
    background-color: #ebebeb; 
} 

nav { 
    width: 960px; 
    margin: 0 auto; 
} 

ul{ 
    list-style-type: none; 
    text-align: center; 
} 

li{ 
    display: inline-block; 
    height: 120px; 
    float: left; 
    text-align: center; 
    line-height: 120px; 
    margin-right: 30px; 
} 

.logo { 
    height: 130px; 
    width: 164px; 
    background:url(http://samaradionne.com/img/typeBlack.png) no-repeat; 
} 

section.stretch{ 
    float: left; 
    height: 1500px; 
    width: 100%; 
} 

header{ 
    width: 100%; 
    background: #fff; 
    border-bottom: 1px solid #aaaaaa; 
    position: fixed; 
    z-index: 10; 
    text-align: center; 
} 

header a{ 
    color: #969696; 
    text-decoration: none; 
    font-family: sans-serif; 
    text-transform: uppercase; 
} 
+1

Отметьте эту тему/ответ: http://stackoverflow.com/a/8228669/1375372 –

+2

Мне удалось получить заголовок в центр, добавив «display: inline-block;» к элементу ul. – jennyfofenny

+0

и другая нить (там должно быть сотни) http://stackoverflow.com/a/14511370/1340674 – Pevara

ответ

1

Может также использовать inline-table

ul { 
    display:inline-table; 
} 

http://jsfiddle.net/2GG7Y/13/

Вы можете взять таблицу CSS шаг вперед с

li { 
    display:table-cell; 
} 

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

+0

Мне это нравится вы работаете со столами и ячейками, которые, я думаю, позволят мне использовать выравнивание по вертикали, не так ли? В идеале я хотел бы удалить линейную высоту в li так, чтобы она центрировала вертикально с логотипом. –

+0

Если вы хотите сделать это, вы можете просто создать стиль отображения «ul» и перейти с 'display: inline-block' в свой стиль' li'. Я бы переместил изображение за пределы 'ul' как фактическое' img' сам, просто чтобы быть в безопасности. Если (по какой-то ужасной причине CSS был отключен или не загружен), ваш логотип все равно будет отображаться. Плюс это читаемый контент для SEO. 'alt' текст для победы. –

+0

Посмотрите эту скрипку. Он также использует гибкую ширину, поэтому вы не застряли с блоком контента размером 960 пикселей. http://jsfiddle.net/2GG7Y/16/ –

3

Добавить display: inline-block; в ul и это будет правильно центр

Работа скрипку:

http://jsfiddle.net/2GG7Y/12/

+0

FYI - Я не видел вышеуказанных комментариев, когда я ответил, они были опубликованы в то же время, я полагаю –