2013-12-04 4 views
1

я иметь заголовок, который имеет один DIV и два пролеты внутри него:CSS, выравнивание содержимого заголовка HTML с навигационной панелью

<header class="page_header"> 

      <div id="title">Some title</div>  
      <span id="user">User: <i>${username }</i></span> 
      <span id="search"/><input type="text"><input type="submit" value="Search"/></span> 

CSS стиль для содержания заголовка является:

.page_header { 
    padding: 30px; 
    margin: 10px; 
    width: 940px; 
} 
.page_header #user { 
    float: left; 
    margin: 0; 
} 
.page_header #title { 
    text-align: center; 
    font-size: 24px; 
} 
.page_header #search { 
    float: right; 
    text-align: right; 
} 

Underneat заголовка это панель навигации. Проблема, с которой я сталкиваюсь, заключается в том, что содержимое заголовка немного смещено вправо, по сравнению с панелью навигации, и я не могу найти способ исправить это. Вы можете увидеть код HTML и CSS здесь: http://jsfiddle.net/vvozar/QU542/1/

Цените любую помощь или совет.

+1

Ваш заголовок имеет отступы и поля. Это влияет на ширину. Поиск 'CSS box model' – Popnoodles

+0

@JoshC ??? Сценарий был дан – Popnoodles

+0

@JoshC Я искал неправильный. Почему вы не отправляете ответ? – Popnoodles

ответ

2

Добавить box-sizing: border-box в ваш .page_header класс.

FIDDLE

.page_header { 
    padding: 30px; 
    margin: 10px 0; 
    width: 940px; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 
+0

Или это. Хорошее предложение. Это, наверное, самое чистое. – brian

+0

Большое спасибо. Я не знал о опции «размер коробки», все еще учась. Спасибо всем за вашу помощь и предложения. – Vladimir

+0

(просто для улучшения ответа) «размер окна» не требуется, если обе «отступы» и «край» левая и правая стороны установлены на ноль: 'padding: 30px 0; margin: 10px 0; ' – Vladimir

1

В page_header, вам необходимо либо (в порядке технического предпочтения)

  • Удалить ширину, и пусть это авто размер, или
  • Установите ширину 880px на счет для 60px набивки вокруг внутри или
  • Снимите прокладку и оставьте ширину 940px.

Ваше тело также фиксируется на 940px и технически внутри page_header имеет только 880px работать, так, 940px толкнул ее за ее пределами, или, в данном случае, из правой части дел.

+0

Что относительно браузеров, которые обрабатывают модель коробки по-разному? Не будет ли слишком тонкий заголовок? – Popnoodles

+0

В этом случае, по-видимому, основная проблема заключается в содержании над навигационной панелью. Автоматическая калибровка, вероятно, лучше всего. Фиксированная ширина для учета заполнения будет второй. Наконец, поскольку ОП не указывал, что заполнение является необязательным, удаляя заполнение и сохраняя исходную ширину. Мне нравятся варианты; вам нравятся варианты? Я собираюсь отредактировать сообщение. – brian

+0

Я имею в виду фиксированную ширину + заполнение в одном браузере! = Фиксированная ширина + заполнение во всех браузерах. OP не указала, что полная ширина является необязательной в зависимости от расчета модели коробки браузера. – Popnoodles

Смежные вопросы