2013-11-15 10 views
1

Привет, я пытаюсь получить два элемента по вертикали.Вертикальное выравнивание не работает на плавающих элементах

<div> 
    <h1>heading</h1> 
    <nav> 
    <ul>LIs...</ul> 
    </nav> 
</div> 

Я хочу, чтобы h1 плавал влево, а навигатор плавал вправо. Но вертикальное выравнивание не работает на плавающих элементах :(Является ли их способ обойти это

редактировать: раствором ячейки таблицы, то h1 теряет встроенный жесткий размер Есть ли способ вокруг этого

.?

Я пробовал ширина:. авто

+0

Используйте 'дисплей: встроенный блок; вертикального выравнивания: middle', вместо внесения' float'. Удивительно, но это работает. –

+0

@RobertHarvey Я не уверен, как этот вопрос является дубликатом связанного вопроса. Этот вопрос относится к вертикальному выравниванию двух элементов относительно друг друга, тогда как связанный вопрос касается вертикального позиционирования элемента на странице. –

+0

Спасибо, это была моя первоначальная попытка, однако 2 элемента в конечном итоге бок о бок, а не один слева справа: | – user2979139

ответ

1

Попробуйте это:

HTML:

<div class="row"> 
    <h1 class="cell">heading</h1> 
    <nav class="cell"> 
    <ul>LIs...</ul> 
    </nav> 
</div> 

УС:

.row{display:table-row;} 
.cell{display:table-cell; 
vertical-align: middle; 
border: 1px solid #CCC;} 

Fiddle here.

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