2016-08-15 3 views
0

Мне нужно, чтобы мои элементы были в одной строке, в центре по высоте и имели право горизонтального выравнивания в ограниченном блоке. Я попытался использовать flexbox для этого, и все отлично работает только для одной позиции, иначе переполненный элемент займет все свободное пространство, и он не выглядит правильно выровненным.Простая помощь CSS

.flex { 
 
    width:80px; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: flex-end; 
 
} 
 
span { 
 
    text-align:right; 
 
}
<div class="flex"> 
 
    <i>0</i> 
 
    <span> 
 
    good 
 
    </span> 
 
</div><br> 
 
<div class="flex"> 
 
    <i>0 </i> 
 
    <span> 
 
    Not that good 
 
    </span> 
 
</div>

+1

Вы пытались удалить ширину? Вероятно, текст не так уж хорош для ширины 80 и поэтому flexbox добавляет некоторые разрывы строк. –

+0

Я не могу удалить ширину, div div ограничен некоторой шириной, и да «Не так хорошо» слишком длинный для этой ширины, и я хочу, чтобы он прорвался в строки, но я также хочу, чтобы «Не так хорошо» не принимать дополнительное пространство в div, поэтому весь блок будет выглядеть правильно. –

ответ

0

Вы должны поместить гибкий атрибуты на контейнер таким образом, что элементы (ваши дивы) получить выровнены. Здесь вы можете увидеть рабочий раствор:

Flexbox

Вашего контейнер будет иметь следующие атрибуты CSS и является простыми делами.

.container { 
    width: 100%; 
    display: flex; 
    flex-direction: column; 
    align-items: flex-end; 
    justify-content: flex-end; 
} 

мне очень нравится Руководство для Flexbox, которые вы можете найти HERE. ИТ помог мне разобраться в специфических модификаторах flexbox.

+0

Спасибо за помощь, но sitly '0' символ insde. Блок '.flex' не выровнен по правому краю. Css proprety 'flex-basis' немного помог, но это поведение не идеально –

+0

Добавьте атрибут css flex-direction: row; к вашему классу .flex. После этого он должен поставить 0 точно рядом с не очень хорошим, но между правым краем еще есть пробел, и это из-за обертывания строки из «Не так хорошо». Если вы удалите все пробелы, они должны работать правильно, но я думаю, вы не хотите их удалять. –

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