2014-01-11 3 views
0

Я хочу добавить поле поиска в свой навигатор, установив все мои ссылки влево и получив форму поиска, расположенную вправо, с помощью гибкой коробки между ними:Остановка div падающая на следующую строку

<div class="nav"> 
    <a... 
    <a... 
    <div class="flex"></div> 
    <div class="search"> 
     <form> 
      <input type="text" style="border:none;" placeholder="Search"> 
      <input type="image" src="/images/search.png"> 
     </form> 
    </div> 
</div> 

Соответствующий CSS в настоящее время я использую:

.nav{margin:0 auto;padding:10px 0;max-width:1280px;min-width:800px;width:84%;background:#000 url('../images/navBG.png') repeat-x;} 
.nav a{padding:10px;} 
.flex{-moz-box-flex:1.0;-webkit-box-flex:1.0;-ms-flex:1.0;box-flex:1.0;} 
.search{display:inline-block;overflow:hidden;} 

Однако, это не работает, как ожидалось. Без поиска и гибких div (т. Е. Только ссылок на navbar) все в порядке, но добавление div поиска отправляет div на следующую строку. Попытка вернуть его в ту же строку с помощью текстового переноса: ничто не делает ничего.

+0

Вы пытались поплавать дивизами? – tilda

+1

как 'div.flex' является блочным элементом, каждый элемент после него будет отображаться на новой строке. Добавьте 'display: inline-block' в элемент' .flex' или попробуйте поместить элементы. – andreivictor

+0

@tilda: Я делаю так, чтобы никогда не плавать ничего, так как обычно это вызывает больше проблем, связанных с макетом и изменяющимся размером/разрешением экрана/разрешением/шириной браузера. – Hiigaran

ответ

0

Я не знаю, если это лучший способ, но я бы использовал таблицу.

<table border=0 cellpadding=0 cellspacing=0 width=100%><tr> 
<td width=84% ><div class="nav"> 
       <a... 
       <a... 
       </div></td> 
<td><div class="flex"> 
    </div></td> 
<td><div class="search"> 
    </div></td> 
</tr></table> 
+3

Nah, меня всегда учили никогда не использовать таблицы ни для чего другого, кроме фактического отображения информации, для которой вы использовали бы таблицу. Я знаю, что некоторые люди также рекомендуют использовать свойство отображения в CSS для использования атрибутов таблицы, но опять же, этого я хочу избежать, если у меня нет выбора. Спасибо хоть. – Hiigaran

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